From e06e2ba8dda089c9b089e5d022f412b948729f31 Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Fri, 1 Nov 2002 05:01:22 +0000 Subject: [PATCH] Add GStreamer support svn path=/trunk/gtk-sharp/; revision=8726 --- ChangeLog | 16 + api/Makefile.in | 1 + api/gst-api.xml | 3115 +++++++++++++++++++++++++++++++++++++ configure.in | 1 + generator/Ctor.cs | 4 +- generator/Method.cs | 2 +- generator/Parameters.cs | 19 +- generator/StructBase.cs | 2 + generator/SymbolTable.cs | 2 + sources/gtk-sharp.sources | 1 + 10 files changed, 3157 insertions(+), 6 deletions(-) create mode 100644 api/gst-api.xml diff --git a/ChangeLog b/ChangeLog index df786537c..f09fbab75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2002-11-01 Alp Toker + + * configure.in : Add GStreamer support + * api/Makefile.in : ditto + * api/gst-api.xml : ditto + * sources/gtk-sharp.sources: ditto + * gst/Makefile.in : ditto + * gst/Application.cs : Gst initialization + * sample/GstPlayer.cs : An example which uses the Gst binding + * generator/Parameters.cs : Add 'fixed' keyword to name mangler + * generator/StructBase.cs : ditto + * generator/Parameters.cs : Fix Initialize() for set accessors + * generator/Ctor.cs : ditto + * generator/Method.cs : ditto + * generator/SymbolTable.cs : Add gint64, guint64 to simple types + 2002-10-29 Mike Kestner * generator/Signal.cs : Fix namespacing of Args. diff --git a/api/Makefile.in b/api/Makefile.in index 01bf95755..33286e4b9 100644 --- a/api/Makefile.in +++ b/api/Makefile.in @@ -9,6 +9,7 @@ APIS = \ art-api.xml \ gnome-api.xml \ gda-api.xml \ + gst-api.xml \ gnomedb-api.xml RUNTIME=mono diff --git a/api/gst-api.xml b/api/gst-api.xml new file mode 100644 index 000000000..4338acbb9 --- /dev/null +++ b/api/gst-api.xml @@ -0,0 +1,3115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configure.in b/configure.in index 8f35ba0c5..3361e92b4 100644 --- a/configure.in +++ b/configure.in @@ -116,6 +116,7 @@ gconf/Makefile gconf/GConf/Makefile gconf/GConf.PropertyEditors/Makefile gconf/tools/Makefile +gst/Makefile sample/Makefile ]) diff --git a/generator/Ctor.cs b/generator/Ctor.cs index 3d5567ba7..2e8178d68 100644 --- a/generator/Ctor.cs +++ b/generator/Ctor.cs @@ -134,7 +134,7 @@ namespace GtkSharp.Generation { sw.WriteLine("\t\t{"); if (parms != null) - parms.Initialize(sw, false, ""); + parms.Initialize(sw, false, false, ""); sw.Write("\t\t\treturn "); if (container_type is StructBase) @@ -147,7 +147,7 @@ namespace GtkSharp.Generation { sw.WriteLine("\t\t{"); if (parms != null) - parms.Initialize(sw, false, ""); + parms.Initialize(sw, false, false, ""); sw.WriteLine("\t\t\t{0} = {1}{2};", container_type.AssignToName, cname, call); if (parms != null) parms.HandleException (sw, ""); diff --git a/generator/Method.cs b/generator/Method.cs index d1c7e6d86..3ba0c2ae2 100644 --- a/generator/Method.cs +++ b/generator/Method.cs @@ -382,7 +382,7 @@ namespace GtkSharp.Generation { { sw.WriteLine(" {"); if (parms != null) - parms.Initialize(sw, is_get, indent); + parms.Initialize(sw, is_get, is_set, indent); sw.Write(indent + "\t\t\t"); if (m_ret == "void") { diff --git a/generator/Parameters.cs b/generator/Parameters.cs index ed78c6263..49b0ffa19 100644 --- a/generator/Parameters.cs +++ b/generator/Parameters.cs @@ -301,7 +301,7 @@ namespace GtkSharp.Generation { signature = signature.Remove (signature.Length - 2, 2); } - public void Initialize (StreamWriter sw, bool is_get, string indent) + public void Initialize (StreamWriter sw, bool is_get, bool is_set, string indent) { string name = ""; @@ -314,7 +314,13 @@ namespace GtkSharp.Generation { string c_type = p_elem.GetAttribute ("type"); string type = SymbolTable.GetCSType(c_type); - name = MangleName(p_elem.GetAttribute("name")); + + if (is_set) { + name = "value"; + } else { + name = MangleName(p_elem.GetAttribute("name")); + } + if (is_get) { sw.WriteLine (indent + "\t\t\t" + type + " " + name + ";"); } @@ -340,7 +346,12 @@ namespace GtkSharp.Generation { string c_type = p_elem.GetAttribute ("type"); string type = SymbolTable.GetCSType(c_type); - name = MangleName(p_elem.GetAttribute("name")); + + if (is_set) { + name = "value"; + } else { + name = MangleName(p_elem.GetAttribute("name")); + } if (SymbolTable.IsCallback (c_type)) { type = type.Replace(".", "Sharp.") + "Wrapper"; @@ -488,6 +499,8 @@ namespace GtkSharp.Generation { return "in_param"; case "out": return "out_param"; + case "fixed": + return "mfixed"; default: break; } diff --git a/generator/StructBase.cs b/generator/StructBase.cs index ee2c0404d..4ca64c213 100644 --- a/generator/StructBase.cs +++ b/generator/StructBase.cs @@ -197,6 +197,8 @@ namespace GtkSharp.Generation { return "reference"; } else if (name == "params") { return "parms"; + } else if (name == "fixed") { + return "mfixed"; } else if (name == "in") { return "inn"; } else { diff --git a/generator/SymbolTable.cs b/generator/SymbolTable.cs index 47314539e..8d26f33d3 100644 --- a/generator/SymbolTable.cs +++ b/generator/SymbolTable.cs @@ -27,6 +27,7 @@ namespace GtkSharp.Generation { simple_types.Add ("gshort", "short"); simple_types.Add ("gushort", "ushort"); simple_types.Add ("guint32", "uint"); + simple_types.Add ("guint64", "ulong"); simple_types.Add ("const-gchar", "string"); simple_types.Add ("const-char", "string"); simple_types.Add ("gchar", "string"); @@ -37,6 +38,7 @@ namespace GtkSharp.Generation { simple_types.Add ("guint8", "byte"); simple_types.Add ("gint16", "short"); simple_types.Add ("gint32", "int"); + simple_types.Add ("gint64", "long"); simple_types.Add ("guint16", "ushort"); simple_types.Add ("guint1", "bool"); simple_types.Add ("gpointer", "System.IntPtr"); diff --git a/sources/gtk-sharp.sources b/sources/gtk-sharp.sources index 152336acb..f7d47e3ab 100644 --- a/sources/gtk-sharp.sources +++ b/sources/gtk-sharp.sources @@ -11,3 +11,4 @@ libglade-2.0.0/glade Glade glade-2.0 libart_lgpl-2.3.10 Art art_lgpl libgda-0.8.193/libgda Gda gda-2 libgnomedb-0.8.193/libgnomedb GnomeDb gnomedb-2 +gstreamer-0.4.1/gst Gst gstreamer-0.4.1