<attr path="/api/namespace/struct[@name='TypeFind']/method[@name='Register']" name="hidden">1</attr>
+ <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+ <attr path="/api/namespace/object[@name='Task']/field" name="hidden">1</attr>
+ <attr path="/api/namespace/object[@name='Task']/method[@cname='gst_task_cleanup_all']" name="hidden">1</attr>
+ <remove-node path="/api/namespace/object[@name='Task']/method[@cname='gst_task_create']" />>
+ <add-node path="/api/namespace/object[@name='Task']">
+ <constructor cname="gst_task_create">
+ <parameters>
+ <parameter type="GstTaskFunction" name="func" />
+ <parameter type="gpointer" name="data" />
+ </parameters>
+ </constructor>
+ </add-node>
+
<!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
<attr path="/api/namespace/object[@name='TypeFindFactory']/field[@name='Caps']" name="hidden">1</attr>
<!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
--- /dev/null
+[DllImport ("gstreamersharpglue-0.10") ]
+extern static uint gstsharp_gst_task_get_cond_offset ();
+
+static uint cond_offset = gstsharp_gst_task_get_cond_offset ();
+private IntPtr CondPtr {
+ get {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + cond_offset);
+ return (*raw_ptr);
+ }
+ }
+}
+
+[DllImport ("libglib-2.0-0.dll") ]
+static extern void g_cond_wait (IntPtr cond, IntPtr mutex);
+[DllImport ("libglib-2.0-0.dll") ]
+static extern void g_cond_signal (IntPtr cond);
+
+public void Wait () {
+ g_cond_wait (CondPtr, LockPtr);
+}
+
+public void Signal () {
+ g_cond_signal (CondPtr);
+}
+
+[DllImport ("gstreamersharpglue-0.10") ]
+extern static uint gstsharp_gst_task_get_running_offset ();
+
+static uint running_offset = gstsharp_gst_task_get_running_offset ();
+public bool IsRunning {
+ get {
+ unsafe {
+ bool* raw_ptr = (bool*) ( ( (byte*) Handle) + running_offset);
+ return (*raw_ptr);
+ }
+ }
+}
+
--- /dev/null
+#include <gst/gst.h>
+
+uint
+gstsharp_gst_task_get_cond_offset (void)
+{
+ return (uint) G_STRUCT_OFFSET (GstTask, cond);
+}
+
+uint
+gstsharp_gst_task_get_running_offset (void)
+{
+ return (uint) G_STRUCT_OFFSET (GstTask, running);
+}