- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

# taskpool.h

Go to the documentation of this file.

    00001 // -*- c++ -*-
    00002 // Generated by gtkmmproc -- DO NOT MODIFY!
    00003 #ifndef _GSTREAMERMM_TASKPOOL_H
    00004 #define _GSTREAMERMM_TASKPOOL_H
    00005
    00006
    00007 #include <glibmm.h>
    00008
    00009 /* gstreamermm - a C++ wrapper for gstreamer
    00010  *
    00011  * Copyright 2008-2009 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 <gst/gsttaskpool.h>
    00029 #include <gstreamermm/object.h>
    00030
    00031
    00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00033 typedef struct _GstTaskPool GstTaskPool;
    00034 typedef struct _GstTaskPoolClass GstTaskPoolClass;
    00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00036
    00037
    00038 namespace Gst
    00039 { class TaskPool_Class; } // namespace Gst
    00040 namespace Gst
    00041 {
    00042
    00052 class TaskPool : public Object
    00053 {
    00054
    00055 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00056
    00057 public:
    00058   typedef TaskPool CppObjectType;
    00059   typedef TaskPool_Class CppClassType;
    00060   typedef GstTaskPool BaseObjectType;
    00061   typedef GstTaskPoolClass BaseClassType;
    00062
    00063 private:  friend class TaskPool_Class;
    00064   static CppClassType taskpool_class_;
    00065
    00066 private:
    00067   // noncopyable
    00068   TaskPool(const TaskPool&);
    00069   TaskPool& operator=(const TaskPool&);
    00070
    00071 protected:
    00072   explicit TaskPool(const Glib::ConstructParams& construct_params);
    00073   explicit TaskPool(GstTaskPool* castitem);
    00074
    00075 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00076
    00077 public:
    00078   virtual ~TaskPool();
    00079
    00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00081   static GType get_type()      G_GNUC_CONST;
    00082
    00083
    00084   static GType get_base_type() G_GNUC_CONST;
    00085 #endif
    00086
    00088   GstTaskPool*       gobj()       { return reinterpret_cast<GstTaskPool*>(gobject_); }
    00089
    00091   const GstTaskPool* gobj() const { return reinterpret_cast<GstTaskPool*>(gobject_); }
    00092
    00094   GstTaskPool* gobj_copy();
    00095
    00096 private:
    00097
    00098   TaskPool();
    00099
    00100 public:
    00104   typedef sigc::slot<void> SlotPush;
    00105
    00106 public:
    00112   static Glib::RefPtr<TaskPool> create();
    00113
    00114
    00122 #ifdef GLIBMM_EXCEPTIONS_ENABLED
    00123   void prepare();
    00124 #else
    00125   void prepare(std::auto_ptr<Glib::Error>& error);
    00126 #endif //GLIBMM_EXCEPTIONS_ENABLED
    00127
    00128
    00136 #ifdef GLIBMM_EXCEPTIONS_ENABLED
    00137   gpointer push(const SlotPush& slot);
    00138 #else
    00139   gpointer push(const SlotPush& slot, std::auto_ptr<Glib::Error>& error);
    00140 #endif //GLIBMM_EXCEPTIONS_ENABLED
    00141
    00142
    00147   void join(gpointer id);
    00148
    00154   void cleanup();
    00155
    00156   //TODO: Wrap vfuncs.
    00157
    00158
    00159 public:
    00160
    00161 public:
    00162   //C++ methods used to invoke GTK+ virtual functions:
    00163 #ifdef GLIBMM_VFUNCS_ENABLED
    00164 #endif //GLIBMM_VFUNCS_ENABLED
    00165
    00166 protected:
    00167   //GTK+ Virtual Functions (override these to change behaviour):
    00168 #ifdef GLIBMM_VFUNCS_ENABLED
    00169 #endif //GLIBMM_VFUNCS_ENABLED
    00170
    00171   //Default Signal Handlers::
    00172 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00173 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00174
    00175
    00176 };
    00177
    00178 } // namespace Gst
    00179
    00180
    00181 namespace Glib
    00182 {
    00191   Glib::RefPtr<Gst::TaskPool> wrap(GstTaskPool* object, bool take_copy = false);
    00192 }
    00193
    00194
    00195 #endif /* _GSTREAMERMM_TASKPOOL_H */
    00196