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
00065 MiniObject(const MiniObject&);
00066
00072 MiniObject& operator=(const MiniObject&);
00073
00074 public:
00078 guint get_flags() const;
00079
00084 bool flag_is_set(guint flag) const;
00085
00089 void set_flag(guint flag);
00090
00094 void unset_flag(guint flag);
00095
00108 Glib::RefPtr<Gst::MiniObject> copy() const;
00109
00119 bool is_writable() const;
00120
00129 Glib::RefPtr<Gst::MiniObject> create_writable();
00130
00131 void reference() const;
00132 void unreference() const;
00133
00135 GstMiniObject* gobj() { return reinterpret_cast<GstMiniObject*>(gobject_); }
00136
00138 const GstMiniObject* gobj() const { return reinterpret_cast<GstMiniObject*>(gobject_); }
00139
00140
00141
00142
00143 protected:
00144 void swap(MiniObject& other);
00145
00146 protected:
00147 GstMiniObject* gobject_;
00148 };
00149
00150 }
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163 #endif //#ifndef _GSTREAMERMM_MINIOBJECT_H
00164