00001
00002
00003 #ifndef _GSTREAMERMM_GIOSRC_H
00004 #define _GSTREAMERMM_GIOSRC_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 <gstreamermm/basesrc.h>
00031 #include <giomm/file.h>
00032 #include <gstreamermm/urihandler.h>
00033
00034
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _GstGioSrc GstGioSrc;
00037 typedef struct _GstGioSrcClass GstGioSrcClass;
00038 #endif
00039
00040
00041 namespace Gst
00042 { class GioSrc_Class; }
00043 namespace Gst
00044 {
00045
00056 class GioSrc
00057 : public Gst::BaseSrc, public Gst::URIHandler
00058 {
00059
00060 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00061
00062 public:
00063 typedef GioSrc CppObjectType;
00064 typedef GioSrc_Class CppClassType;
00065 typedef GstGioSrc BaseObjectType;
00066 typedef GstGioSrcClass BaseClassType;
00067
00068 private: friend class GioSrc_Class;
00069 static CppClassType giosrc_class_;
00070
00071 private:
00072
00073 GioSrc(const GioSrc&);
00074 GioSrc& operator=(const GioSrc&);
00075
00076 protected:
00077 explicit GioSrc(const Glib::ConstructParams& construct_params);
00078 explicit GioSrc(GstGioSrc* castitem);
00079
00080 #endif
00081
00082 public:
00083 virtual ~GioSrc();
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 static GType get_type() G_GNUC_CONST;
00087
00088
00089 static GType get_base_type() G_GNUC_CONST;
00090 #endif
00091
00093 GstGioSrc* gobj() { return reinterpret_cast<GstGioSrc*>(gobject_); }
00094
00096 const GstGioSrc* gobj() const { return reinterpret_cast<GstGioSrc*>(gobject_); }
00097
00099 GstGioSrc* gobj_copy();
00100
00101 private:
00102
00103
00104 protected:
00105 GioSrc();
00106 GioSrc(const Glib::ustring& name);
00107
00108 public:
00112 static Glib::RefPtr<GioSrc> create();
00113
00114
00118 static Glib::RefPtr<GioSrc> create(const Glib::ustring& name);
00119
00120
00121 #ifdef GLIBMM_PROPERTIES_ENABLED
00122
00128 Glib::PropertyProxy<Glib::ustring> property_location() ;
00129 #endif //#GLIBMM_PROPERTIES_ENABLED
00130
00131 #ifdef GLIBMM_PROPERTIES_ENABLED
00132
00138 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00139 #endif //#GLIBMM_PROPERTIES_ENABLED
00140
00141 #ifdef GLIBMM_PROPERTIES_ENABLED
00142
00148 Glib::PropertyProxy< Glib::RefPtr<Gio::File> > property_file() ;
00149 #endif //#GLIBMM_PROPERTIES_ENABLED
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gio::File> > property_file() const;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161
00162 public:
00163
00164 public:
00165
00166 #ifdef GLIBMM_VFUNCS_ENABLED
00167 #endif //GLIBMM_VFUNCS_ENABLED
00168
00169 protected:
00170
00171 #ifdef GLIBMM_VFUNCS_ENABLED
00172 #endif //GLIBMM_VFUNCS_ENABLED
00173
00174
00175 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00176 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00177
00178
00179 };
00180
00181 }
00182
00183
00184 namespace Glib
00185 {
00194 Glib::RefPtr<Gst::GioSrc> wrap(GstGioSrc* object, bool take_copy = false);
00195 }
00196
00197
00198 #endif
00199