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
00029
00030 #include <gst/gstelement.h>
00031 #include <gstreamermm/pluginfeature.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstIndexFactory GstIndexFactory;
00036 typedef struct _GstIndexFactoryClass GstIndexFactoryClass;
00037 #endif
00038
00039
00040 namespace Gst
00041 { class IndexFactory_Class; }
00042 namespace Gst
00043 {
00044
00045 class Index;
00046
00051 class IndexFactory : public PluginFeature
00052 {
00053
00054 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00055
00056 public:
00057 typedef IndexFactory CppObjectType;
00058 typedef IndexFactory_Class CppClassType;
00059 typedef GstIndexFactory BaseObjectType;
00060 typedef GstIndexFactoryClass BaseClassType;
00061
00062 private: friend class IndexFactory_Class;
00063 static CppClassType indexfactory_class_;
00064
00065 private:
00066
00067 IndexFactory(const IndexFactory&);
00068 IndexFactory& operator=(const IndexFactory&);
00069
00070 protected:
00071 explicit IndexFactory(const Glib::ConstructParams& construct_params);
00072 explicit IndexFactory(GstIndexFactory* castitem);
00073
00074 #endif
00075
00076 public:
00077 virtual ~IndexFactory();
00078
00079 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00080 static GType get_type() G_GNUC_CONST;
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
00123
00129 static Glib::RefPtr<Gst::Index> create_index(const Glib::ustring& factory_name);
00130
00131
00132
00133
00134 public:
00135
00136 public:
00137
00138 #ifdef GLIBMM_VFUNCS_ENABLED
00139 #endif //GLIBMM_VFUNCS_ENABLED
00140
00141 protected:
00142
00143 #ifdef GLIBMM_VFUNCS_ENABLED
00144 #endif //GLIBMM_VFUNCS_ENABLED
00145
00146
00147 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00148 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00149
00150
00151 };
00152
00153 }
00154
00155
00156 namespace Glib
00157 {
00166 Glib::RefPtr<Gst::IndexFactory> wrap(GstIndexFactory* object, bool take_copy = false);
00167 }
00168
00169
00170 #endif
00171