00001
00002
00003 #ifndef _GSTREAMERMM_INDEXFACTORY_H
00004 #define _GSTREAMERMM_INDEXFACTORY_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/gstelement.h>
00029 #include <gstreamermm/pluginfeature.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstIndexFactory GstIndexFactory;
00034 typedef struct _GstIndexFactoryClass GstIndexFactoryClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class IndexFactory_Class; }
00040 namespace Gst
00041 {
00042
00043 class Index;
00044
00049 class IndexFactory : public PluginFeature
00050 {
00051
00052 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00053
00054 public:
00055 typedef IndexFactory CppObjectType;
00056 typedef IndexFactory_Class CppClassType;
00057 typedef GstIndexFactory BaseObjectType;
00058 typedef GstIndexFactoryClass BaseClassType;
00059
00060 private: friend class IndexFactory_Class;
00061 static CppClassType indexfactory_class_;
00062
00063 private:
00064
00065 IndexFactory(const IndexFactory&);
00066 IndexFactory& operator=(const IndexFactory&);
00067
00068 protected:
00069 explicit IndexFactory(const Glib::ConstructParams& construct_params);
00070 explicit IndexFactory(GstIndexFactory* castitem);
00071
00072 #endif
00073
00074 public:
00075 virtual ~IndexFactory();
00076
00077 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00078 static GType get_type() G_GNUC_CONST;
00079 static GType get_base_type() G_GNUC_CONST;
00080 #endif
00081
00083 GstIndexFactory* gobj() { return reinterpret_cast<GstIndexFactory*>(gobject_); }
00084
00086 const GstIndexFactory* gobj() const { return reinterpret_cast<GstIndexFactory*>(gobject_); }
00087
00089 GstIndexFactory* gobj_copy();
00090
00091 private:
00092
00093
00094 protected:
00095 explicit IndexFactory(const Glib::ustring& name, const Glib::ustring& longdesc, GType type);
00096
00097 public:
00106 static Glib::RefPtr<IndexFactory> create(const Glib::ustring& name, const Glib::ustring& longdesc, GType type);
00107
00108
00113 static Glib::RefPtr<Gst::IndexFactory> find(const Glib::ustring& name);
00114
00119 Glib::RefPtr<Gst::Index> create_index();
00120
00126 static Glib::RefPtr<Gst::Index> create_index(const Glib::ustring& factory_name);
00127
00128
00129
00130
00131 public:
00132
00133 public:
00134
00135 #ifdef GLIBMM_VFUNCS_ENABLED
00136 #endif //GLIBMM_VFUNCS_ENABLED
00137
00138 protected:
00139
00140 #ifdef GLIBMM_VFUNCS_ENABLED
00141 #endif //GLIBMM_VFUNCS_ENABLED
00142
00143
00144 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00145 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00146
00147
00148 };
00149
00150 }
00151
00152
00153 namespace Glib
00154 {
00163 Glib::RefPtr<Gst::IndexFactory> wrap(GstIndexFactory* object, bool take_copy = false);
00164 }
00165
00166
00167 #endif
00168