00001
00002
00003 #ifndef _GSTREAMERMM_TASKPOOL_H
00004 #define _GSTREAMERMM_TASKPOOL_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 #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
00036
00037
00038 namespace Gst
00039 { class TaskPool_Class; }
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
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
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
00157
00158
00159 public:
00160
00161 public:
00162
00163 #ifdef GLIBMM_VFUNCS_ENABLED
00164 #endif //GLIBMM_VFUNCS_ENABLED
00165
00166 protected:
00167
00168 #ifdef GLIBMM_VFUNCS_ENABLED
00169 #endif //GLIBMM_VFUNCS_ENABLED
00170
00171
00172 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00173 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00174
00175
00176 };
00177
00178 }
00179
00180
00181 namespace Glib
00182 {
00191 Glib::RefPtr<Gst::TaskPool> wrap(GstTaskPool* object, bool take_copy = false);
00192 }
00193
00194
00195 #endif
00196