00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _GSTREAMERMM_MINIOBJECT_H
00021 #define _GSTREAMERMM_MINIOBJECT_H
00022
00023 #include <glibmm/objectbase.h>
00024 #include <gst/gstminiobject.h>
00025
00026 namespace Gst
00027 {
00028
00029 class MiniObject_Class;
00030
00034 class MiniObject : public Glib::ObjectBase
00035 {
00036 public:
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038 typedef MiniObject CppObjectType;
00039 typedef MiniObject_Class CppClassType;
00040 typedef GstMiniObject BaseObjectType;
00041 typedef GstMiniObjectClass BaseClassType;
00042 #endif
00043
00044
00045 public:
00046
00047
00048 MiniObject();
00049 MiniObject(GstMiniObject* castitem, bool take_copy = false);
00050
00051 public:
00052 virtual ~MiniObject();
00053
00054
00055
00056
00057
00058
00059
00060 MiniObject(const MiniObject&);
00061 MiniObject& operator=(const MiniObject&);
00062
00063 public:
00064
00065
00066 bool is_writable() const;
00067 void make_writable();
00068
00069 void reference() const;
00070 void unreference() const;
00071
00073 GstMiniObject* gobj() { return reinterpret_cast<GstMiniObject*>(gobject_); }
00074
00076 const GstMiniObject* gobj() const { return reinterpret_cast<GstMiniObject*>(gobject_); }
00077
00078
00079
00080
00081 protected:
00082 void swap(MiniObject& other);
00083
00084 protected:
00085 GstMiniObject* gobject_;
00086 };
00087
00088 }
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101 #endif //#ifndef _GSTREAMERMM_MINIOBJECT_H
00102