00001
00002
00003 #ifndef _GSTREAMERMM_PRESET_H
00004 #define _GSTREAMERMM_PRESET_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 <gst/gstpreset.h>
00029 #include <glibmm/interface.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstPreset GstPreset;
00034 typedef struct _GstPresetClass GstPresetClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class Preset_Class; }
00040 namespace Gst
00041 {
00042
00059 class Preset : public Glib::Interface
00060 {
00061
00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00063
00064 public:
00065 typedef Preset CppObjectType;
00066 typedef Preset_Class CppClassType;
00067 typedef GstPreset BaseObjectType;
00068 typedef GstPresetInterface BaseClassType;
00069
00070 private:
00071 friend class Preset_Class;
00072 static CppClassType preset_class_;
00073
00074
00075 Preset(const Preset&);
00076 Preset& operator=(const Preset&);
00077
00078 protected:
00079 Preset();
00080
00087 explicit Preset(const Glib::Interface_Class& interface_class);
00088
00089 public:
00090
00091
00092
00093 explicit Preset(GstPreset* castitem);
00094
00095 protected:
00096 #endif
00097
00098 public:
00099 virtual ~Preset();
00100
00101 static void add_interface(GType gtype_implementer);
00102
00103 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00104 static GType get_type() G_GNUC_CONST;
00105 static GType get_base_type() G_GNUC_CONST;
00106 #endif
00107
00109 GstPreset* gobj() { return reinterpret_cast<GstPreset*>(gobject_); }
00110
00112 const GstPreset* gobj() const { return reinterpret_cast<GstPreset*>(gobject_); }
00113
00114 private:
00115
00116
00117 public:
00118
00119
00125 Glib::StringArrayHandle get_preset_names() const;
00126
00132 Glib::StringArrayHandle get_property_names() const;
00133
00140 bool load_preset(const Glib::ustring& name);
00141
00149 bool save_preset(const Glib::ustring& name);
00150
00159 bool rename_preset(const Glib::ustring& old_name, const Glib::ustring& new_name);
00160
00167 bool delete_preset(const Glib::ustring& name);
00168
00179 bool set_meta(const Glib::ustring& name, const Glib::ustring& tag, const Glib::ustring& value);
00180
00181
00193 bool get_meta(const Glib::ustring& name, const Glib::ustring& tag, Glib::ustring& value) const;
00194
00195
00196 #ifdef GLIBMM_VFUNCS_ENABLED
00197 virtual Glib::StringArrayHandle get_preset_names_vfunc() const;
00198 virtual Glib::StringArrayHandle get_property_names_vfunc() const;
00199 #endif //GLIBMM_VFUNCS_ENABLED
00200
00201 #ifdef GLIBMM_VFUNCS_ENABLED
00202 virtual bool load_preset_vfunc(const Glib::ustring& name);
00203 #endif //GLIBMM_VFUNCS_ENABLED
00204
00205 #ifdef GLIBMM_VFUNCS_ENABLED
00206 virtual bool save_preset_vfunc(const Glib::ustring& name) const;
00207 #endif //GLIBMM_VFUNCS_ENABLED
00208
00209 #ifdef GLIBMM_VFUNCS_ENABLED
00210 virtual bool rename_preset_vfunc(const Glib::ustring& old_name, const Glib::ustring& new_name);
00211 #endif //GLIBMM_VFUNCS_ENABLED
00212
00213 #ifdef GLIBMM_VFUNCS_ENABLED
00214 virtual bool delete_preset_vfunc(const Glib::ustring& name);
00215 #endif //GLIBMM_VFUNCS_ENABLED
00216
00217 #ifdef GLIBMM_VFUNCS_ENABLED
00218 virtual bool set_meta_vfunc(const Glib::ustring& name, const Glib::ustring& tag, const Glib::ustring& value);
00219 #endif //GLIBMM_VFUNCS_ENABLED
00220
00221
00222 #ifdef GLIBMM_VFUNCS_ENABLED
00223 virtual bool get_meta_vfunc(const Glib::ustring& name,
00224 const Glib::ustring& tag, Glib::ustring& value);
00225 #endif //GLIBMM_VFUNCS_ENABLED
00226
00227 protected:
00228
00229
00230 public:
00231
00232 public:
00233
00234 #ifdef GLIBMM_VFUNCS_ENABLED
00235 #endif //GLIBMM_VFUNCS_ENABLED
00236
00237 protected:
00238
00239 #ifdef GLIBMM_VFUNCS_ENABLED
00240 #endif //GLIBMM_VFUNCS_ENABLED
00241
00242
00243 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00244 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00245
00246
00247 };
00248
00249 }
00250
00251
00252 namespace Glib
00253 {
00262 Glib::RefPtr<Gst::Preset> wrap(GstPreset* object, bool take_copy = false);
00263
00264 }
00265
00266
00267 #endif
00268