miniobject.h

Go to the documentation of this file.
00001 #ifndef _GSTMM_MINIOBJECT_H
00002 #define _GSTMM_MINIOBJECT_H
00003 
00004 #include <glibmm/objectbase.h>
00005 #include <gst/gstminiobject.h>
00006 
00007 namespace Gst
00008 {
00009 
00010 class MiniObject_Class;
00011 
00016 class MiniObject : public Glib::ObjectBase
00017 {
00018 public:
00019 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00020   typedef MiniObject       CppObjectType;
00021   typedef MiniObject_Class CppClassType;
00022   typedef GstMiniObject      BaseObjectType;
00023   typedef GstMiniObjectClass BaseClassType;
00024 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00025 
00026 //protected:
00027 public:
00028   //friend Glib::wrap;
00029 
00030   MiniObject();
00031   MiniObject(GstMiniObject* castitem);
00032 
00033 public:
00034   virtual ~MiniObject();
00035   
00036   //Note that we don't add a constructor for gst_mini_object_new()
00037   //because it's just an equivalent for g_object_new(), 
00038   //which is just an equivalent for C++'s new(). 
00039 
00040 
00041 //private:
00042   // noncopyable
00043   MiniObject(const MiniObject&);
00044   MiniObject& operator=(const MiniObject&);
00045 
00046 public:
00047   //Glib::RefPtr<Gst::MiniObject> copy();
00048 
00049   bool is_writable() const;
00050   void make_writable();
00051 
00052   void reference() const;
00053   void unreference() const;
00054 
00055   // static void replace(Glib::RefPtr<Gst::MiniObject> & olddata, Glib::RefPtr<Gst::MiniObject> & newdata);
00056 
00057 protected:
00058   GstMiniObject* gobject_;
00059 };
00060 
00061 } // namespace Gst
00062 
00063 /*
00064 namespace Glib
00065 {
00066   inline Glib::RefPtr<Gst::MiniObject> wrap(GstMiniObject *object, bool take_copy)
00067   {
00068     return Glib::RefPtr<Gst::MiniObject>(new MiniObject(object, take_copy));
00069   }
00070 
00071 } //namespace Glib
00072 */
00073 
00074 #endif //#ifndef _GSTMM_MINIOBJECT_H
00075 

Generated on Sat Jan 26 11:53:53 2008 for gstreamermm by  doxygen 1.5.1