Move TypeFind/Index/Element register functions to their factory classes
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 7 May 2009 07:42:17 +0000 (09:42 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 7 May 2009 07:42:17 +0000 (09:42 +0200)
12 files changed:
doc/en/Gst/Element.xml
doc/en/Gst/ElementFactory.xml
doc/en/Gst/Index.xml
doc/en/Gst/IndexFactory.xml
doc/en/Gst/TypeFind.xml
doc/en/Gst/TypeFindFactory.xml
gstreamer-sharp/Gstreamer.metadata
gstreamer-sharp/Index.custom
gstreamer-sharp/IndexFactory.custom [new file with mode: 0644]
gstreamer-sharp/Makefile.am
gstreamer-sharp/TypeFind.custom
gstreamer-sharp/TypeFindFactory.custom [new file with mode: 0644]

index 41e913d..80a4c27 100644 (file)
       <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
       <Parameters><Parameter Name="src_format" Type="Gst.Format" /><Parameter Name="src_val" Type="System.Int64" /><Parameter Name="dest_format" Type="Gst.Format&amp;" RefType="ref" /><Parameter Name="dest_val" Type="System.Int64&amp;" RefType="out" /></Parameters>
       <Docs><param name="src_format">To be added.</param><param name="src_val">To be added.</param><param name="dest_format">To be added.</param><param name="dest_val">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    </Member><Member MemberName="QueryDuration"><MemberSignature Language="C#" Value="public bool QueryDuration (ref Gst.Format format, out long duration);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="Gst.Format&amp;" RefType="ref" /><Parameter Name="duration" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="format">To be added.</param><param name="duration">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="QueryPosition"><MemberSignature Language="C#" Value="public bool QueryPosition (ref Gst.Format format, out long cur);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="Gst.Format&amp;" RefType="ref" /><Parameter Name="cur" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="format">To be added.</param><param name="cur">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Register">
-      <MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, uint rank, GLib.GType type);" />
-      <MemberType>Method</MemberType>
-      <AssemblyInfo>
-        <AssemblyVersion>0.9.5.99</AssemblyVersion>
-      </AssemblyInfo>
-      <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="rank" Type="System.UInt32" /><Parameter Name="type" Type="GLib.GType" /></Parameters>
-      <Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="rank">To be added.</param><param name="type">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    </Member><Member MemberName="ReleaseRequestPad">
+    </Member><Member MemberName="QueryDuration"><MemberSignature Language="C#" Value="public bool QueryDuration (ref Gst.Format format, out long duration);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="Gst.Format&amp;" RefType="ref" /><Parameter Name="duration" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="format">To be added.</param><param name="duration">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="QueryPosition"><MemberSignature Language="C#" Value="public bool QueryPosition (ref Gst.Format format, out long cur);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="format" Type="Gst.Format&amp;" RefType="ref" /><Parameter Name="cur" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="format">To be added.</param><param name="cur">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="ReleaseRequestPad">
       <MemberSignature Language="C#" Value="public void ReleaseRequestPad (Gst.Pad pad);" />
       <MemberType>Method</MemberType>
       <AssemblyInfo>
index f8527fa..b8938c2 100644 (file)
       </AssemblyInfo>
       <ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member><Member MemberName="StaticPadTemplates">
+    </Member><Member MemberName="Register"><MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, uint rank, GLib.GType type);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="rank" Type="System.UInt32" /><Parameter Name="type" Type="GLib.GType" /></Parameters><Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="rank">To be added.</param><param name="type">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="StaticPadTemplates">
       <MemberSignature Language="C#" Value="public Gst.StaticPadTemplate[] StaticPadTemplates { get; }" />
       <MemberType>Property</MemberType>
       <AssemblyInfo>
index 0905dfb..410261f 100644 (file)
       <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
       <Parameters><Parameter Name="writer_id" Type="System.Int32&amp;" RefType="out" /><Parameter Name="writer_string" Type="System.String" /></Parameters>
       <Docs><param name="writer_id">To be added.</param><param name="writer_string">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    </Member><Member MemberName="Register"><MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, string longdesc, GLib.GType gtype);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="longdesc" Type="System.String" /><Parameter Name="gtype" Type="GLib.GType" /></Parameters><Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="longdesc">To be added.</param><param name="gtype">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Resolver">
+    </Member><Member MemberName="Resolver">
       <MemberSignature Language="C#" Value="public Gst.IndexResolver Resolver { set; }" />
       <MemberType>Property</MemberType>
       <AssemblyInfo>
index e29d757..3cb0353 100644 (file)
@@ -19,7 +19,8 @@
     
     
     
-    <Member MemberName=".ctor">
+    
+  <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public IndexFactory (IntPtr raw);" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>
@@ -70,6 +71,5 @@
       <ReturnValue><ReturnType>Gst.Index</ReturnType></ReturnValue>
       <Parameters><Parameter Name="name" Type="System.String" /></Parameters>
       <Docs><param name="name">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    </Member>
-  </Members>
+    </Member><Member MemberName="Register"><MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, string longdesc, GLib.GType gtype);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="longdesc" Type="System.String" /><Parameter Name="gtype" Type="GLib.GType" /></Parameters><Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="longdesc">To be added.</param><param name="gtype">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>
index 4d81c4f..b3ac171 100644 (file)
@@ -35,7 +35,7 @@
       </AssemblyInfo>
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member><Member MemberName="Peek"><MemberSignature Language="C#" Value="public byte[] Peek (long offset, uint size);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="offset" Type="System.Int64" /><Parameter Name="size" Type="System.UInt32" /></Parameters><Docs><param name="offset">To be added.</param><param name="size">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Register"><MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string[] extensions, Gst.Caps possible_caps);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="rank" Type="System.UInt32" /><Parameter Name="func" Type="Gst.TypeFindFunction" /><Parameter Name="extensions" Type="System.String[]" /><Parameter Name="possible_caps" Type="Gst.Caps" /></Parameters><Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="rank">To be added.</param><param name="func">To be added.</param><param name="extensions">To be added.</param><param name="possible_caps">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Suggest">
+    </Member><Member MemberName="Peek"><MemberSignature Language="C#" Value="public byte[] Peek (long offset, uint size);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="offset" Type="System.Int64" /><Parameter Name="size" Type="System.UInt32" /></Parameters><Docs><param name="offset">To be added.</param><param name="size">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Suggest">
       <MemberSignature Language="C#" Value="public void Suggest (uint probability, Gst.Caps caps);" />
       <MemberType>Method</MemberType>
       <AssemblyInfo>
index bef5df8..3a43735 100644 (file)
@@ -19,7 +19,8 @@
     
     
     
-    <Member MemberName=".ctor">
+    
+  <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="protected TypeFindFactory ();" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo>
@@ -76,6 +77,5 @@
       </AssemblyInfo>
       <ReturnValue><ReturnType>Gst.TypeFindFactory[]</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    </Member>
-  </Members>
+    </Member><Member MemberName="Register"><MemberSignature Language="C#" Value="public static bool Register (Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string[] extensions, Gst.Caps possible_caps);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="plugin" Type="Gst.Plugin" /><Parameter Name="name" Type="System.String" /><Parameter Name="rank" Type="System.UInt32" /><Parameter Name="func" Type="Gst.TypeFindFunction" /><Parameter Name="extensions" Type="System.String[]" /><Parameter Name="possible_caps" Type="Gst.Caps" /></Parameters><Docs><param name="plugin">To be added.</param><param name="name">To be added.</param><param name="rank">To be added.</param><param name="func">To be added.</param><param name="extensions">To be added.</param><param name="possible_caps">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>
index 944fa2b..fcde966 100644 (file)
   <attr path="/api/namespace/object[@name='Element']/method[@cname='gst_element_seek_simple']" name="name">Seek</attr>
   <remove-attr path="/api/namespace/object[@name='Element']/field[@name='CurrentState']" name="hidden"/>
   <move-node path="/api/namespace/object[@name='Element']/method[@cname='gst_element_make_from_uri']">/api/namespace/object[@name='ElementFactory']</move-node>
+  <move-node path="/api/namespace/object[@name='Element']/method[@cname='gst_element_register']">/api/namespace/object[@name='ElementFactory']</move-node>
   
   <attr path="/api/namespace/struct[@name='ElementDetails']" name="internal">1</attr>
 
index aaaebf9..a7b0264 100644 (file)
@@ -11,15 +11,3 @@ public bool IsWritable {
   }
 }
 
-[DllImport ("gstreamersharpglue-0.10") ]
-static extern void gstsharp_gst_index_factory_set_plugin (IntPtr factory, IntPtr plugin);
-
-public static bool Register (Gst.Plugin plugin, string name, string longdesc, GLib.GType gtype) {
-  Gst.IndexFactory factory = new Gst.IndexFactory (name, longdesc, gtype);
-  gstsharp_gst_index_factory_set_plugin (factory.Handle, (plugin != null) ? plugin.Handle : IntPtr.Zero);
-
-  Gst.Registry.Default.AddFeature (factory);
-
-  return true;
-}
-
diff --git a/gstreamer-sharp/IndexFactory.custom b/gstreamer-sharp/IndexFactory.custom
new file mode 100644 (file)
index 0000000..f2b8ffa
--- /dev/null
@@ -0,0 +1,12 @@
+[DllImport ("gstreamersharpglue-0.10") ]
+static extern void gstsharp_gst_index_factory_set_plugin (IntPtr factory, IntPtr plugin);
+
+public static bool Register (Gst.Plugin plugin, string name, string longdesc, GLib.GType gtype) {
+  Gst.IndexFactory factory = new Gst.IndexFactory (name, longdesc, gtype);
+  gstsharp_gst_index_factory_set_plugin (factory.Handle, (plugin != null) ? plugin.Handle : IntPtr.Zero);
+
+  Gst.Registry.Default.AddFeature (factory);
+
+  return true;
+}
+
index 21c31df..c921129 100644 (file)
@@ -62,7 +62,7 @@ customs =                     \
        Bus.custom              \
        Caps.custom             \
        Clock.custom            \
-       ClockEntry.custom               \
+       ClockEntry.custom       \
        Debug.custom            \
        Element.custom          \
        Message.custom          \
@@ -76,12 +76,14 @@ customs =                   \
        MiniObject.custom       \
        IndexEntry.custom       \
        Index.custom       \
+       IndexFactory.custom       \
        Registry.custom         \
        Query.custom            \
        Structure.custom        \
        Tag.custom              \
        TagList.custom          \
-       TypeFind.custom
+       TypeFind.custom         \
+       TypeFindFactory.custom  
 
 build_customs = $(addprefix $(srcdir)/, $(customs))
 
index 3d48041..2fb21da 100644 (file)
@@ -1,18 +1,4 @@
 [DllImport ("gstreamer-0.10.dll") ]
-static extern bool gst_type_find_register (IntPtr plugin, IntPtr name, uint rank, GstSharp.TypeFindFunctionNative func, IntPtr[] extensions, IntPtr possible_caps, IntPtr data, IntPtr data_notify);
-
-public static bool Register (Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string[] extensions, Gst.Caps possible_caps) {
-  IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
-  IntPtr[] native_extensions = GLib.Marshaller.StringArrayToNullTermPointer (extensions);
-  GstSharp.TypeFindFunctionWrapper func_wrapper = new GstSharp.TypeFindFunctionWrapper (func);
-  bool raw_ret = gst_type_find_register (plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, func_wrapper.NativeDelegate, native_extensions, possible_caps == null ? IntPtr.Zero : possible_caps.Handle, IntPtr.Zero, IntPtr.Zero);
-  bool ret = raw_ret;
-  GLib.Marshaller.Free (native_name);
-  GLib.Marshaller.Free (native_extensions);
-  return ret;
-}
-
-[DllImport ("gstreamer-0.10.dll") ]
 static extern IntPtr gst_type_find_peek (IntPtr raw, long offset, uint size);
 
 public byte[] Peek (long offset, uint size) {
diff --git a/gstreamer-sharp/TypeFindFactory.custom b/gstreamer-sharp/TypeFindFactory.custom
new file mode 100644 (file)
index 0000000..0440ad0
--- /dev/null
@@ -0,0 +1,14 @@
+[DllImport ("gstreamer-0.10.dll") ]
+static extern bool gst_type_find_register (IntPtr plugin, IntPtr name, uint rank, GstSharp.TypeFindFunctionNative func, IntPtr[] extensions, IntPtr possible_caps, IntPtr data, IntPtr data_notify);
+
+public static bool Register (Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string[] extensions, Gst.Caps possible_caps) {
+  IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+  IntPtr[] native_extensions = GLib.Marshaller.StringArrayToNullTermPointer (extensions);
+  GstSharp.TypeFindFunctionWrapper func_wrapper = new GstSharp.TypeFindFunctionWrapper (func);
+  bool raw_ret = gst_type_find_register (plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, func_wrapper.NativeDelegate, native_extensions, possible_caps == null ? IntPtr.Zero : possible_caps.Handle, IntPtr.Zero, IntPtr.Zero);
+  bool ret = raw_ret;
+  GLib.Marshaller.Free (native_name);
+  GLib.Marshaller.Free (native_extensions);
+  return ret;
+}
+