gstreamermm: filesink.h Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

# filesink.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_FILESINK_H
    00004 #define _GSTREAMERMM_FILESINK_H
    00005
    00006
    00007 #include <glibmm.h>
    00008
    00009 /* gstreamermm - a C++ wrapper for gstreamer
    00010  *
    00011  * Copyright 2008 The gstreamermm Development Team
    00012  *
    00013  * This library is free software; you can redistribute it and/or
    00014  * modify it under the terms of the GNU Lesser General Public
    00015  * License as published by the Free Software Foundation; either
    00016  * version 2.1 of the License, or (at your option) any later version.
    00017  *
    00018  * This library is distributed in the hope that it will be useful,
    00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00021  * Lesser General Public License for more details.
    00022  *
    00023  * You should have received a copy of the GNU Lesser General Public
    00024  * License along with this library; if not, write to the Free
    00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    00026  */
    00027
    00028 #include <gstreamermm/basesink.h>
    00029 #include <gstreamermm/urihandler.h>
    00030
    00031
    00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00033 typedef struct _GstFileSink GstFileSink;
    00034 typedef struct _GstFileSinkClass GstFileSinkClass;
    00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00036
    00037
    00038 namespace Gst
    00039 { class FileSink_Class; } // namespace Gst
    00040 namespace Gst
    00041 {
    00042
    00048 enum FileSinkBufferMode
    00049 {
    00050   FILE_SINK_BUFFER_MODE_DEFAULT = -1,
    00051   FILE_SINK_BUFFER_MODE_FULL,
    00052   FILE_SINK_BUFFER_MODE_LINE,
    00053   FILE_SINK_BUFFER_MODE_UNBUFFERED
    00054 };
    00055
    00056 } // namespace Gst
    00057
    00058
    00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00060 namespace Glib
    00061 {
    00062
    00063 template <>
    00064 class Value<Gst::FileSinkBufferMode> : public Glib::Value_Enum<Gst::FileSinkBufferMode>
    00065 {
    00066 public:
    00067   static GType value_type() G_GNUC_CONST;
    00068 };
    00069
    00070 } // namespace Glib
    00071 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00072
    00073
    00074 namespace Gst
    00075 {
    00076
    00077
    00088 class FileSink
    00089 : public Gst::BaseSink, public Gst::URIHandler
    00090 {
    00091
    00092 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00093
    00094 public:
    00095   typedef FileSink CppObjectType;
    00096   typedef FileSink_Class CppClassType;
    00097   typedef GstFileSink BaseObjectType;
    00098   typedef GstFileSinkClass BaseClassType;
    00099
    00100 private:  friend class FileSink_Class;
    00101   static CppClassType filesink_class_;
    00102
    00103 private:
    00104   // noncopyable
    00105   FileSink(const FileSink&);
    00106   FileSink& operator=(const FileSink&);
    00107
    00108 protected:
    00109   explicit FileSink(const Glib::ConstructParams& construct_params);
    00110   explicit FileSink(GstFileSink* castitem);
    00111
    00112 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00113
    00114 public:
    00115   virtual ~FileSink();
    00116
    00117 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00118   static GType get_type()      G_GNUC_CONST;
    00119   static GType get_base_type() G_GNUC_CONST;
    00120 #endif
    00121
    00123   GstFileSink*       gobj()       { return reinterpret_cast<GstFileSink*>(gobject_); }
    00124
    00126   const GstFileSink* gobj() const { return reinterpret_cast<GstFileSink*>(gobject_); }
    00127
    00129   GstFileSink* gobj_copy();
    00130
    00131 private:
    00132
    00133
    00134 protected:
    00135   FileSink();
    00136   FileSink(const Glib::ustring& name);
    00137
    00138 public:
    00142   static Glib::RefPtr<FileSink> create();
    00143
    00144
    00148   static Glib::RefPtr<FileSink> create(const Glib::ustring& name);
    00149
    00150
    00151   #ifdef GLIBMM_PROPERTIES_ENABLED
    00152
    00158   Glib::PropertyProxy<Glib::ustring> property_location() ;
    00159 #endif //#GLIBMM_PROPERTIES_ENABLED
    00160
    00161 #ifdef GLIBMM_PROPERTIES_ENABLED
    00162
    00168   Glib::PropertyProxy_ReadOnly<Glib::ustring> property_location() const;
    00169 #endif //#GLIBMM_PROPERTIES_ENABLED
    00170
    00171   #ifdef GLIBMM_PROPERTIES_ENABLED
    00172
    00178   Glib::PropertyProxy<FileSinkBufferMode> property_buffer_mode() ;
    00179 #endif //#GLIBMM_PROPERTIES_ENABLED
    00180
    00181 #ifdef GLIBMM_PROPERTIES_ENABLED
    00182
    00188   Glib::PropertyProxy_ReadOnly<FileSinkBufferMode> property_buffer_mode() const;
    00189 #endif //#GLIBMM_PROPERTIES_ENABLED
    00190
    00191   #ifdef GLIBMM_PROPERTIES_ENABLED
    00192
    00198   Glib::PropertyProxy<guint> property_buffer_size() ;
    00199 #endif //#GLIBMM_PROPERTIES_ENABLED
    00200
    00201 #ifdef GLIBMM_PROPERTIES_ENABLED
    00202
    00208   Glib::PropertyProxy_ReadOnly<guint> property_buffer_size() const;
    00209 #endif //#GLIBMM_PROPERTIES_ENABLED
    00210
    00211
    00212 public:
    00213
    00214 public:
    00215   //C++ methods used to invoke GTK+ virtual functions:
    00216 #ifdef GLIBMM_VFUNCS_ENABLED
    00217 #endif //GLIBMM_VFUNCS_ENABLED
    00218
    00219 protected:
    00220   //GTK+ Virtual Functions (override these to change behaviour):
    00221 #ifdef GLIBMM_VFUNCS_ENABLED
    00222 #endif //GLIBMM_VFUNCS_ENABLED
    00223
    00224   //Default Signal Handlers::
    00225 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00226 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00227
    00228
    00229 };
    00230
    00231 } //namespace Gst
    00232
    00233
    00234 namespace Glib
    00235 {
    00244   Glib::RefPtr<Gst::FileSink> wrap(GstFileSink* object, bool take_copy = false);
    00245 }
    00246
    00247
    00248 #endif /* _GSTREAMERMM_FILESINK_H */
    00249