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
00080
00081 static GType get_base_type() G_GNUC_CONST;
00082 #endif
00083
00085 GstIndexFactory* gobj() { return reinterpret_cast<GstIndexFactory*>(gobject_); }
00086
00088 const GstIndexFactory* gobj() const { return reinterpret_cast<GstIndexFactory*>(gobject_); }
00089
00091 GstIndexFactory* gobj_copy();
00092
00093 private:
00094
00095
00096 protected:
00097 explicit IndexFactory(const Glib::ustring& name, const Glib::ustring& longdesc, GType type);
00098
00099 public:
00108 static Glib::RefPtr<IndexFactory> create(const Glib::ustring& name, const Glib::ustring& longdesc, GType type);
00109
00110
00115 static Glib::RefPtr<Gst::IndexFactory> find(const Glib::ustring& name);
00116
00121 Glib::RefPtr<Gst::Index> create_index();
00122
00128 static Glib::RefPtr<Gst::Index> create_index(const Glib::ustring& factory_name);
00129
00130
00131
00132
00133 public:
00134
00135 public:
00136
00137 #ifdef GLIBMM_VFUNCS_ENABLED
00138 #endif //GLIBMM_VFUNCS_ENABLED
00139
00140 protected:
00141
00142 #ifdef GLIBMM_VFUNCS_ENABLED
00143 #endif //GLIBMM_VFUNCS_ENABLED
00144
00145
00146 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00147 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00148
00149
00150 };
00151
00152 }
00153
00154
00155 namespace Glib
00156 {
00165 Glib::RefPtr<Gst::IndexFactory> wrap(GstIndexFactory* object, bool take_copy = false);
00166 }
00167
00168
00169 #endif
00170