00001
00002
00003 #ifndef _GSTREAMERMM_VORBISTAG_H
00004 #define _GSTREAMERMM_VORBISTAG_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <gstreamermm/vorbisparse.h>
00029 #include <gstreamermm/tagsetter.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstVorbisTag GstVorbisTag;
00034 typedef struct _GstVorbisTagClass GstVorbisTagClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class VorbisTag_Class; }
00040 namespace Gst
00041 {
00042
00043
00054 class VorbisTag
00055 : public Gst::VorbisParse, public Gst::TagSetter
00056 {
00057
00058 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00059
00060 public:
00061 typedef VorbisTag CppObjectType;
00062 typedef VorbisTag_Class CppClassType;
00063 typedef GstVorbisTag BaseObjectType;
00064 typedef GstVorbisTagClass BaseClassType;
00065
00066 private: friend class VorbisTag_Class;
00067 static CppClassType vorbistag_class_;
00068
00069 private:
00070
00071 VorbisTag(const VorbisTag&);
00072 VorbisTag& operator=(const VorbisTag&);
00073
00074 protected:
00075 explicit VorbisTag(const Glib::ConstructParams& construct_params);
00076 explicit VorbisTag(GstVorbisTag* castitem);
00077
00078 #endif
00079
00080 public:
00081 virtual ~VorbisTag();
00082
00083 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00084 static GType get_type() G_GNUC_CONST;
00085 static GType get_base_type() G_GNUC_CONST;
00086 #endif
00087
00089 GstVorbisTag* gobj() { return reinterpret_cast<GstVorbisTag*>(gobject_); }
00090
00092 const GstVorbisTag* gobj() const { return reinterpret_cast<GstVorbisTag*>(gobject_); }
00093
00095 GstVorbisTag* gobj_copy();
00096
00097 private:
00098
00099
00100 protected:
00101 VorbisTag();
00102 VorbisTag(const Glib::ustring& name);
00103
00104 public:
00108 static Glib::RefPtr<VorbisTag> create();
00109
00110
00114 static Glib::RefPtr<VorbisTag> create(const Glib::ustring& name);
00115
00116
00117 public:
00118
00119 public:
00120
00121 #ifdef GLIBMM_VFUNCS_ENABLED
00122 #endif //GLIBMM_VFUNCS_ENABLED
00123
00124 protected:
00125
00126 #ifdef GLIBMM_VFUNCS_ENABLED
00127 #endif //GLIBMM_VFUNCS_ENABLED
00128
00129
00130 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00131 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00132
00133
00134 };
00135
00136 }
00137
00138
00139 namespace Glib
00140 {
00149 Glib::RefPtr<Gst::VorbisTag> wrap(GstVorbisTag* object, bool take_copy = false);
00150 }
00151
00152
00153 #endif
00154