00001
00002
00003 #ifndef _GSTREAMERMM_FILESRC_H
00004 #define _GSTREAMERMM_FILESRC_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 <gstreamermm/urihandler.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstFileSrc GstFileSrc;
00036 typedef struct _GstFileSrcClass GstFileSrcClass;
00037 #endif
00038
00039
00040 namespace Gst
00041 { class FileSrc_Class; }
00042 namespace Gst
00043 {
00044
00055 class FileSrc
00056 : public Gst::BaseSrc, public Gst::URIHandler
00057 {
00058
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060
00061 public:
00062 typedef FileSrc CppObjectType;
00063 typedef FileSrc_Class CppClassType;
00064 typedef GstFileSrc BaseObjectType;
00065 typedef GstFileSrcClass BaseClassType;
00066
00067 private: friend class FileSrc_Class;
00068 static CppClassType filesrc_class_;
00069
00070 private:
00071
00072 FileSrc(const FileSrc&);
00073 FileSrc& operator=(const FileSrc&);
00074
00075 protected:
00076 explicit FileSrc(const Glib::ConstructParams& construct_params);
00077 explicit FileSrc(GstFileSrc* castitem);
00078
00079 #endif
00080
00081 public:
00082 virtual ~FileSrc();
00083
00084 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00085 static GType get_type() G_GNUC_CONST;
00086
00087
00088 static GType get_base_type() G_GNUC_CONST;
00089 #endif
00090
00092 GstFileSrc* gobj() { return reinterpret_cast<GstFileSrc*>(gobject_); }
00093
00095 const GstFileSrc* gobj() const { return reinterpret_cast<GstFileSrc*>(gobject_); }
00096
00098 GstFileSrc* gobj_copy();
00099
00100 private:
00101
00102
00103 protected:
00104 FileSrc();
00105 FileSrc(const Glib::ustring& name);
00106
00107 public:
00111 static Glib::RefPtr<FileSrc> create();
00112
00113
00117 static Glib::RefPtr<FileSrc> create(const Glib::ustring& name);
00118
00119
00120 #ifdef GLIBMM_PROPERTIES_ENABLED
00121
00127 Glib::PropertyProxy<Glib::ustring> property_location() ;
00128 #endif //#GLIBMM_PROPERTIES_ENABLED
00129
00130 #ifdef GLIBMM_PROPERTIES_ENABLED
00131
00137 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
00138 #endif //#GLIBMM_PROPERTIES_ENABLED
00139
00140 #ifdef GLIBMM_PROPERTIES_ENABLED
00141
00147 Glib::PropertyProxy_ReadOnly<int> property_fd() const;
00148 #endif //#GLIBMM_PROPERTIES_ENABLED
00149
00150
00151 #ifdef GLIBMM_PROPERTIES_ENABLED
00152
00158 Glib::PropertyProxy<gulong> property_mmapsize() ;
00159 #endif //#GLIBMM_PROPERTIES_ENABLED
00160
00161 #ifdef GLIBMM_PROPERTIES_ENABLED
00162
00168 Glib::PropertyProxy_ReadOnly<gulong> property_mmapsize() const;
00169 #endif //#GLIBMM_PROPERTIES_ENABLED
00170
00171 #ifdef GLIBMM_PROPERTIES_ENABLED
00172
00178 Glib::PropertyProxy<bool> property_sequential() ;
00179 #endif //#GLIBMM_PROPERTIES_ENABLED
00180
00181 #ifdef GLIBMM_PROPERTIES_ENABLED
00182
00188 Glib::PropertyProxy_ReadOnly<bool> property_sequential() const;
00189 #endif //#GLIBMM_PROPERTIES_ENABLED
00190
00191 #ifdef GLIBMM_PROPERTIES_ENABLED
00192
00198 Glib::PropertyProxy<bool> property_touch() ;
00199 #endif //#GLIBMM_PROPERTIES_ENABLED
00200
00201 #ifdef GLIBMM_PROPERTIES_ENABLED
00202
00208 Glib::PropertyProxy_ReadOnly<bool> property_touch() const;
00209 #endif //#GLIBMM_PROPERTIES_ENABLED
00210
00211 #ifdef GLIBMM_PROPERTIES_ENABLED
00212
00218 Glib::PropertyProxy<bool> property_use_mmap() ;
00219 #endif //#GLIBMM_PROPERTIES_ENABLED
00220
00221 #ifdef GLIBMM_PROPERTIES_ENABLED
00222
00228 Glib::PropertyProxy_ReadOnly<bool> property_use_mmap() const;
00229 #endif //#GLIBMM_PROPERTIES_ENABLED
00230
00231
00232 public:
00233
00234 public:
00235
00236 #ifdef GLIBMM_VFUNCS_ENABLED
00237 #endif //GLIBMM_VFUNCS_ENABLED
00238
00239 protected:
00240
00241 #ifdef GLIBMM_VFUNCS_ENABLED
00242 #endif //GLIBMM_VFUNCS_ENABLED
00243
00244
00245 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00246 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00247
00248
00249 };
00250
00251 }
00252
00253
00254 namespace Glib
00255 {
00264 Glib::RefPtr<Gst::FileSrc> wrap(GstFileSrc* object, bool take_copy = false);
00265 }
00266
00267
00268 #endif
00269