- Main Page
- Modules
- Namespaces
- Classes
- Files

# queue.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_QUEUE_H
    00004 #define _GSTREAMERMM_QUEUE_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/element.h>
    00029
    00030
    00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00032 typedef struct _GstQueue GstQueue;
    00033 typedef struct _GstQueueClass GstQueueClass;
    00034 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00035
    00036
    00037 namespace Gst
    00038 { class Queue_Class; } // namespace Gst
    00039 namespace Gst
    00040 {
    00041
    00047 enum QueueLeaky
    00048 {
    00049   QUEUE_LEAKY_NONE,
    00050   QUEUE_LEAKY_UPSTREAM,
    00051   QUEUE_LEAKY_DOWNSTREAM
    00052 };
    00053
    00054 } // namespace Gst
    00055
    00056
    00057 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00058 namespace Glib
    00059 {
    00060
    00061 template <>
    00062 class Value<Gst::QueueLeaky> : public Glib::Value_Enum<Gst::QueueLeaky>
    00063 {
    00064 public:
    00065   static GType value_type() G_GNUC_CONST;
    00066 };
    00067
    00068 } // namespace Glib
    00069 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00070
    00071
    00072 namespace Gst
    00073 {
    00074
    00075
    00086 class Queue
    00087 : public Gst::Element
    00088 {
    00089
    00090 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00091
    00092 public:
    00093   typedef Queue CppObjectType;
    00094   typedef Queue_Class CppClassType;
    00095   typedef GstQueue BaseObjectType;
    00096   typedef GstQueueClass BaseClassType;
    00097
    00098 private:  friend class Queue_Class;
    00099   static CppClassType queue_class_;
    00100
    00101 private:
    00102   // noncopyable
    00103   Queue(const Queue&);
    00104   Queue& operator=(const Queue&);
    00105
    00106 protected:
    00107   explicit Queue(const Glib::ConstructParams& construct_params);
    00108   explicit Queue(GstQueue* castitem);
    00109
    00110 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00111
    00112 public:
    00113   virtual ~Queue();
    00114
    00115 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00116   static GType get_type()      G_GNUC_CONST;
    00117   static GType get_base_type() G_GNUC_CONST;
    00118 #endif
    00119
    00121   GstQueue*       gobj()       { return reinterpret_cast<GstQueue*>(gobject_); }
    00122
    00124   const GstQueue* gobj() const { return reinterpret_cast<GstQueue*>(gobject_); }
    00125
    00127   GstQueue* gobj_copy();
    00128
    00129 private:
    00130
    00131
    00132 protected:
    00133   Queue();
    00134   Queue(const Glib::ustring& name);
    00135
    00136 public:
    00140   static Glib::RefPtr<Queue> create();
    00141
    00142
    00146   static Glib::RefPtr<Queue> create(const Glib::ustring& name);
    00147
    00148
    00149   #ifdef GLIBMM_PROPERTIES_ENABLED
    00150
    00156   Glib::PropertyProxy_ReadOnly<guint> property_current_level_buffers() const;
    00157 #endif //#GLIBMM_PROPERTIES_ENABLED
    00158
    00159
    00160   #ifdef GLIBMM_PROPERTIES_ENABLED
    00161
    00167   Glib::PropertyProxy_ReadOnly<guint> property_current_level_bytes() const;
    00168 #endif //#GLIBMM_PROPERTIES_ENABLED
    00169
    00170
    00171   #ifdef GLIBMM_PROPERTIES_ENABLED
    00172
    00178   Glib::PropertyProxy_ReadOnly<guint64> property_current_level_time() const;
    00179 #endif //#GLIBMM_PROPERTIES_ENABLED
    00180
    00181
    00182   #ifdef GLIBMM_PROPERTIES_ENABLED
    00183
    00189   Glib::PropertyProxy<guint> property_max_size_buffers() ;
    00190 #endif //#GLIBMM_PROPERTIES_ENABLED
    00191
    00192 #ifdef GLIBMM_PROPERTIES_ENABLED
    00193
    00199   Glib::PropertyProxy_ReadOnly<guint> property_max_size_buffers() const;
    00200 #endif //#GLIBMM_PROPERTIES_ENABLED
    00201
    00202   #ifdef GLIBMM_PROPERTIES_ENABLED
    00203
    00209   Glib::PropertyProxy<guint> property_max_size_bytes() ;
    00210 #endif //#GLIBMM_PROPERTIES_ENABLED
    00211
    00212 #ifdef GLIBMM_PROPERTIES_ENABLED
    00213
    00219   Glib::PropertyProxy_ReadOnly<guint> property_max_size_bytes() const;
    00220 #endif //#GLIBMM_PROPERTIES_ENABLED
    00221
    00222   #ifdef GLIBMM_PROPERTIES_ENABLED
    00223
    00229   Glib::PropertyProxy<guint64> property_max_size_time() ;
    00230 #endif //#GLIBMM_PROPERTIES_ENABLED
    00231
    00232 #ifdef GLIBMM_PROPERTIES_ENABLED
    00233
    00239   Glib::PropertyProxy_ReadOnly<guint64> property_max_size_time() const;
    00240 #endif //#GLIBMM_PROPERTIES_ENABLED
    00241
    00242   #ifdef GLIBMM_PROPERTIES_ENABLED
    00243
    00249   Glib::PropertyProxy<guint> property_min_threshold_buffers() ;
    00250 #endif //#GLIBMM_PROPERTIES_ENABLED
    00251
    00252 #ifdef GLIBMM_PROPERTIES_ENABLED
    00253
    00259   Glib::PropertyProxy_ReadOnly<guint> property_min_threshold_buffers() const;
    00260 #endif //#GLIBMM_PROPERTIES_ENABLED
    00261
    00262   #ifdef GLIBMM_PROPERTIES_ENABLED
    00263
    00269   Glib::PropertyProxy<guint> property_min_threshold_bytes() ;
    00270 #endif //#GLIBMM_PROPERTIES_ENABLED
    00271
    00272 #ifdef GLIBMM_PROPERTIES_ENABLED
    00273
    00279   Glib::PropertyProxy_ReadOnly<guint> property_min_threshold_bytes() const;
    00280 #endif //#GLIBMM_PROPERTIES_ENABLED
    00281
    00282   #ifdef GLIBMM_PROPERTIES_ENABLED
    00283
    00289   Glib::PropertyProxy<guint64> property_min_threshold_time() ;
    00290 #endif //#GLIBMM_PROPERTIES_ENABLED
    00291
    00292 #ifdef GLIBMM_PROPERTIES_ENABLED
    00293
    00299   Glib::PropertyProxy_ReadOnly<guint64> property_min_threshold_time() const;
    00300 #endif //#GLIBMM_PROPERTIES_ENABLED
    00301
    00302   #ifdef GLIBMM_PROPERTIES_ENABLED
    00303
    00309   Glib::PropertyProxy<QueueLeaky> property_leaky() ;
    00310 #endif //#GLIBMM_PROPERTIES_ENABLED
    00311
    00312 #ifdef GLIBMM_PROPERTIES_ENABLED
    00313
    00319   Glib::PropertyProxy_ReadOnly<QueueLeaky> property_leaky() const;
    00320 #endif //#GLIBMM_PROPERTIES_ENABLED
    00321
    00322
    00328   Glib::SignalProxy0< void > signal_underrun();
    00329
    00330
    00336   Glib::SignalProxy0< void > signal_running();
    00337
    00338
    00344   Glib::SignalProxy0< void > signal_overrun();
    00345
    00346
    00352   Glib::SignalProxy0< void > signal_pushing();
    00353
    00354
    00355 public:
    00356
    00357 public:
    00358   //C++ methods used to invoke GTK+ virtual functions:
    00359 #ifdef GLIBMM_VFUNCS_ENABLED
    00360 #endif //GLIBMM_VFUNCS_ENABLED
    00361
    00362 protected:
    00363   //GTK+ Virtual Functions (override these to change behaviour):
    00364 #ifdef GLIBMM_VFUNCS_ENABLED
    00365 #endif //GLIBMM_VFUNCS_ENABLED
    00366
    00367   //Default Signal Handlers::
    00368 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00369   virtual void on_underrun();
    00370   virtual void on_running();
    00371   virtual void on_overrun();
    00372   virtual void on_pushing();
    00373 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00374
    00375
    00376 };
    00377
    00378 } //namespace Gst
    00379
    00380
    00381 namespace Glib
    00382 {
    00391   Glib::RefPtr<Gst::Queue> wrap(GstQueue* object, bool take_copy = false);
    00392 }
    00393
    00394
    00395 #endif /* _GSTREAMERMM_QUEUE_H */
    00396