Fix and complete Static{PadTemplate,Caps} bindings

This commit is contained in:
Sebastian Dröge 2009-04-14 17:55:19 +02:00
parent f380194b1a
commit 79931bf601
10 changed files with 154 additions and 72 deletions

View file

@ -1,11 +1,11 @@
<Type Name="StaticCaps" FullName="Gst.StaticCaps">
<TypeSignature Language="C#" Value="public struct StaticCaps" />
<TypeSignature Language="C#" Value="public class StaticCaps : GLib.Opaque" />
<AssemblyInfo>
<AssemblyName>gstreamer-sharp</AssemblyName>
<AssemblyVersion>0.9.5.99</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.ValueType</BaseTypeName>
<BaseTypeName>GLib.Opaque</BaseTypeName>
</Base>
<Interfaces />
<Docs>
@ -14,39 +14,17 @@
</Docs>
<Members>
<Member MemberName="Caps">
<MemberSignature Language="C#" Value="public Gst.Caps Caps { set; get; }" />
<Member MemberName=".ctor"><MemberSignature Language="C#" Value="public StaticCaps (Gst.Caps caps);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="caps" Type="Gst.Caps" /></Parameters><Docs><param name="caps">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public StaticCaps (IntPtr raw);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><param name="raw">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public StaticCaps (string caps);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="caps" Type="System.String" /></Parameters><Docs><param name="caps">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Any"><MemberSignature Language="C#" Value="public static Gst.StaticCaps Any { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.StaticCaps</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Caps">
<MemberSignature Language="C#" Value="public Gst.Caps Caps { get; }" />
<MemberType>Property</MemberType>
<ReturnValue><ReturnType>Gst.Caps</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Get">
<MemberSignature Language="C#" Value="public Gst.Caps Get ();" />
<MemberType>Method</MemberType>
<ReturnValue><ReturnType>Gst.Caps</ReturnType></ReturnValue>
<Parameters />
<Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GType">
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Empty"><MemberSignature Language="C#" Value="public static Gst.StaticCaps Empty { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.StaticCaps</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="GType">
<MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
<MemberType>Property</MemberType>
<ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="New">
<MemberSignature Language="C#" Value="public static Gst.StaticCaps New (IntPtr raw);" />
<MemberType>Method</MemberType>
<ReturnValue><ReturnType>Gst.StaticCaps</ReturnType></ReturnValue>
<Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters>
<Docs><param name="raw">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="String">
<MemberSignature Language="C#" Value="public string String;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Zero">
<MemberSignature Language="C#" Value="public static Gst.StaticCaps Zero;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>Gst.StaticCaps</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="String"><MemberSignature Language="C#" Value="public string String { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member>

View file

@ -1,11 +1,11 @@
<Type Name="StaticPadTemplate" FullName="Gst.StaticPadTemplate">
<TypeSignature Language="C#" Value="public struct StaticPadTemplate" />
<TypeSignature Language="C#" Value="public class StaticPadTemplate : GLib.Opaque" />
<AssemblyInfo>
<AssemblyName>gstreamer-sharp</AssemblyName>
<AssemblyVersion>0.9.5.99</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.ValueType</BaseTypeName>
<BaseTypeName>GLib.Opaque</BaseTypeName>
</Base>
<Interfaces />
<Docs>
@ -17,54 +17,17 @@
<Member MemberName="Caps">
<Member MemberName=".ctor"><MemberSignature Language="C#" Value="public StaticPadTemplate (IntPtr raw);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><param name="raw">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public StaticPadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="name_template" Type="System.String" /><Parameter Name="direction" Type="Gst.PadDirection" /><Parameter Name="presence" Type="Gst.PadPresence" /><Parameter Name="caps" Type="Gst.Caps" /></Parameters><Docs><param name="name_template">To be added.</param><param name="direction">To be added.</param><param name="presence">To be added.</param><param name="caps">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Caps">
<MemberSignature Language="C#" Value="public Gst.Caps Caps { get; }" />
<MemberType>Property</MemberType>
<ReturnValue><ReturnType>Gst.Caps</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Direction">
<MemberSignature Language="C#" Value="public Gst.PadDirection Direction;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>Gst.PadDirection</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Get">
<MemberSignature Language="C#" Value="public Gst.PadTemplate Get ();" />
<MemberType>Method</MemberType>
<ReturnValue><ReturnType>Gst.PadTemplate</ReturnType></ReturnValue>
<Parameters />
<Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GType">
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Direction"><MemberSignature Language="C#" Value="public Gst.PadDirection Direction { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.PadDirection</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="GType">
<MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
<MemberType>Property</MemberType>
<ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="NameTemplate">
<MemberSignature Language="C#" Value="public string NameTemplate;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="New">
<MemberSignature Language="C#" Value="public static Gst.StaticPadTemplate New (IntPtr raw);" />
<MemberType>Method</MemberType>
<ReturnValue><ReturnType>Gst.StaticPadTemplate</ReturnType></ReturnValue>
<Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters>
<Docs><param name="raw">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Presence">
<MemberSignature Language="C#" Value="public Gst.PadPresence Presence;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>Gst.PadPresence</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="StaticCaps">
<MemberSignature Language="C#" Value="public Gst.StaticCaps StaticCaps;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>Gst.StaticCaps</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Zero">
<MemberSignature Language="C#" Value="public static Gst.StaticPadTemplate Zero;" />
<MemberType>Field</MemberType>
<ReturnValue><ReturnType>Gst.StaticPadTemplate</ReturnType></ReturnValue>
<Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member>
<AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="NameTemplate"><MemberSignature Language="C#" Value="public string NameTemplate { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="PadTemplate"><MemberSignature Language="C#" Value="public Gst.PadTemplate PadTemplate { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.PadTemplate</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Presence"><MemberSignature Language="C#" Value="public Gst.PadPresence Presence { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.PadPresence</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member>

View file

@ -167,8 +167,8 @@
<Type Name="State" Kind="Enumeration" />
<Type Name="StateChange" Kind="Enumeration" />
<Type Name="StateChangeReturn" Kind="Enumeration" />
<Type Name="StaticCaps" Kind="Structure" />
<Type Name="StaticPadTemplate" Kind="Structure" />
<Type Name="StaticCaps" Kind="Class" />
<Type Name="StaticPadTemplate" Kind="Class" />
<Type Name="Structure" Kind="Class" />
<Type Name="StructureChangeType" Kind="Enumeration" />
<Type Name="SyncMessageArgs" Kind="Class" />

View file

@ -356,6 +356,16 @@
<attr path="/api/namespace/enum[@name='StateChange']/member[@cname='GST_STATE_CHANGE_PAUSED_TO_READY']" name="value">(State.Paused &lt;&lt; 3) | State.Ready</attr>
<attr path="/api/namespace/enum[@name='StateChange']/member[@cname='GST_STATE_CHANGE_READY_TO_NULL']" name="value">(State.Ready &lt;&lt; 3) | State.Null</attr>
<change-node-type path="/api/namespace/struct[@name='StaticCaps']">boxed</change-node-type>
<attr path="/api/namespace/boxed[@name='StaticCaps']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@name='StaticCaps']/method[@cname='gst_static_caps_get']" name="name">GetCaps</attr>
<attr path="/api/namespace/boxed[@name='StaticCaps']/method[@cname='gst_static_caps_get']/return-type" name="owned">true</attr>
<change-node-type path="/api/namespace/struct[@name='StaticPadTemplate']">boxed</change-node-type>
<attr path="/api/namespace/boxed[@name='StaticPadTemplate']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@name='StaticPadTemplate']/method[@cname='gst_static_pad_template_get']" name="name">GetPadTemplate</attr>
<attr path="/api/namespace/boxed[@name='StaticPadTemplate']/method[@cname='gst_static_pad_template_get']" name="owned">true</attr>
<attr path="/api/namespace/boxed[@name='Structure']" name="opaque">true</attr>
<attr path="/api/namespace/boxed[@name='Structure']/field[@name='ParentRefcount']" name="hidden">1</attr>
<attr path="/api/namespace/boxed[@name='Structure']/method[@name='SetParentRefcount']" name="hidden">1</attr>

View file

@ -65,6 +65,8 @@ customs = \
Object.custom \
MiniObject.custom \
Registry.custom \
StaticCaps.custom \
StaticPadTemplate.custom \
Structure.custom

View file

@ -0,0 +1,48 @@
[DllImport("gstreamersharpglue-0.10")]
static extern IntPtr gstsharp_gst_static_caps_get_string (IntPtr caps);
public string String {
get {
IntPtr raw_ptr = gstsharp_gst_static_caps_get_string (Handle);
if (raw_ptr == IntPtr.Zero)
return null;
return GLib.Marshaller.Utf8PtrToString (raw_ptr);
}
}
protected override void Free (IntPtr raw) {
GLib.Marshaller.Free (raw);
}
[DllImport("gstreamersharpglue-0.10")]
static extern IntPtr gstsharp_gst_static_caps_new (string caps);
public StaticCaps (Caps caps) {
Raw = gstsharp_gst_static_caps_new (caps.ToString ());
}
public StaticCaps (string caps) {
Raw = gstsharp_gst_static_caps_new (caps.ToString ());
}
private static StaticCaps empty = new StaticCaps ("EMPTY");
private static StaticCaps any = new StaticCaps ("ANY");
public static StaticCaps Empty {
get {
return empty;
}
}
public static StaticCaps Any {
get {
return any;
}
}
public override string ToString () {
return String;
}

View file

@ -0,0 +1,37 @@
[DllImport("gstreamersharpglue-0.10")]
static extern IntPtr gstsharp_gst_static_pad_template_get_name_template (IntPtr handle);
public string NameTemplate {
get {
IntPtr raw_ret = gstsharp_gst_static_pad_template_get_name_template (Handle);
if (raw_ret == IntPtr.Zero)
return null;
return GLib.Marshaller.Utf8PtrToString (raw_ret);
}
}
[DllImport("gstreamersharpglue-0.10")]
static extern Gst.PadDirection gstsharp_gst_static_pad_template_get_pad_direction (IntPtr handle);
public Gst.PadDirection Direction {
get {
return gstsharp_gst_static_pad_template_get_pad_direction (Handle);
}
}
[DllImport("gstreamersharpglue-0.10")]
static extern Gst.PadPresence gstsharp_gst_static_pad_template_get_pad_presence (IntPtr handle);
public Gst.PadPresence Presence {
get {
return gstsharp_gst_static_pad_template_get_pad_presence (Handle);
}
}
[DllImport("gstreamersharpglue-0.10")]
static extern IntPtr gstsharp_gst_static_pad_template_new (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, string caps);
public StaticPadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps)
{
Raw = gstsharp_gst_static_pad_template_new (name_template, direction, presence, caps.ToString ());
}

View file

@ -7,6 +7,8 @@ libgstreamersharpglue_0_10_la_SOURCES = \
message.c \
bin.c \
structure.c \
staticcaps.c \
staticpadtemplate.c \
gerror.c \
gobject.c

View file

@ -0,0 +1,15 @@
#include <gst/gst.h>
const gchar *
gstsharp_gst_static_caps_get_string (const GstStaticCaps *caps) {
return caps->string;
}
GstStaticCaps *
gstsharp_gst_static_caps_new (const gchar *string) {
GstStaticCaps *caps = g_new0 (GstStaticCaps, 1);
caps->string = g_strdup (string);
return caps;
}

View file

@ -0,0 +1,27 @@
#include <gst/gst.h>
const gchar *
gstsharp_gst_static_pad_template_get_name_template (const GstStaticPadTemplate *templ) {
return templ->name_template;
}
GstPadDirection
gstsharp_gst_static_pad_template_get_direction (const GstStaticPadTemplate *templ) {
return templ->direction;
}
GstPadPresence
gstsharp_gst_static_pad_template_get_presence (const GstStaticPadTemplate *templ) {
return templ->presence;
}
GstStaticPadTemplate *
gstsharp_gst_static_pad_template_new (const gchar *name_template, GstPadDirection direction, GstPadPresence presence, const gchar *caps) {
GstStaticPadTemplate *ret = g_new0 (GstStaticPadTemplate, 1);
ret->name_template = g_strdup (name_template);
ret->direction = direction;
ret->presence = presence;
ret->static_caps.string = g_strdup (caps);
return ret;
}