diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/BoxedGen.cs generator/BoxedGen.cs --- gtk-sharp/generator/BoxedGen.cs 2009-01-04 23:29:56.000000000 +0100 +++ generator/BoxedGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -40,16 +40,16 @@ StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name); base.Generate (gen_info); - sw.WriteLine ("\t\tpublic static explicit operator GLib.Value (" + QualifiedName + " boxed)"); + sw.WriteLine ("\t\tpublic static explicit operator Gst.GLib.Value (" + QualifiedName + " boxed)"); sw.WriteLine ("\t\t{"); - sw.WriteLine ("\t\t\tGLib.Value val = GLib.Value.Empty;"); + sw.WriteLine ("\t\t\tGst.GLib.Value val = Gst.GLib.Value.Empty;"); sw.WriteLine ("\t\t\tval.Init (" + QualifiedName + ".GType);"); sw.WriteLine ("\t\t\tval.Val = boxed;"); sw.WriteLine ("\t\t\treturn val;"); sw.WriteLine ("\t\t}"); sw.WriteLine (); - sw.WriteLine ("\t\tpublic static explicit operator " + QualifiedName + " (GLib.Value val)"); + sw.WriteLine ("\t\tpublic static explicit operator " + QualifiedName + " (Gst.GLib.Value val)"); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\treturn (" + QualifiedName + ") val.Val;"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ByRefGen.cs generator/ByRefGen.cs --- gtk-sharp/generator/ByRefGen.cs 2008-02-26 17:29:14.000000000 +0100 +++ generator/ByRefGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -46,7 +46,7 @@ public string AllocNative (string var_name) { - return "GLib.Marshaller.StructureToPtrAlloc (" + var_name + ")"; + return "Gst.GLib.Marshaller.StructureToPtrAlloc (" + var_name + ")"; } public override string FromNative (string var_name) diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/CallbackGen.cs generator/CallbackGen.cs --- gtk-sharp/generator/CallbackGen.cs 2009-07-02 22:18:10.000000000 +0200 +++ generator/CallbackGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -140,7 +140,7 @@ sw.WriteLine (); sw.WriteLine ("\t\t" + Name + "Native native_cb;"); sw.WriteLine ("\t\tIntPtr __data;"); - sw.WriteLine ("\t\tGLib.DestroyNotify __notify;"); + sw.WriteLine ("\t\tGst.GLib.DestroyNotify __notify;"); sw.WriteLine (); sw.WriteLine ("\t\t~" + Name + "Invoker ()"); sw.WriteLine ("\t\t{"); @@ -153,7 +153,7 @@ sw.WriteLine (); sw.WriteLine ("\t\tinternal " + Name + "Invoker (" + Name + "Native native_cb, IntPtr data) : this (native_cb, data, null) {}"); sw.WriteLine (); - sw.WriteLine ("\t\tinternal " + Name + "Invoker (" + Name + "Native native_cb, IntPtr data, GLib.DestroyNotify notify)"); + sw.WriteLine ("\t\tinternal " + Name + "Invoker (" + Name + "Native native_cb, IntPtr data, Gst.GLib.DestroyNotify notify)"); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tthis.native_cb = native_cb;"); sw.WriteLine ("\t\t\t__data = data;"); @@ -233,7 +233,7 @@ */ bool fatal = (retval.MarshalType != "void" && retval.MarshalType != "bool") || call.HasOutParam; sw.WriteLine ("\t\t\t} catch (Exception e) {"); - sw.WriteLine ("\t\t\t\tGLib.ExceptionManager.RaiseUnhandledException (e, " + (fatal ? "true" : "false") + ");"); + sw.WriteLine ("\t\t\t\tGst.GLib.ExceptionManager.RaiseUnhandledException (e, " + (fatal ? "true" : "false") + ");"); if (fatal) { sw.WriteLine ("\t\t\t\t// NOTREACHED: Above call does not return."); sw.WriteLine ("\t\t\t\tthrow e;"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ConstFilenameGen.cs generator/ConstFilenameGen.cs --- gtk-sharp/generator/ConstFilenameGen.cs 2007-09-21 18:37:04.000000000 +0200 +++ generator/ConstFilenameGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -35,17 +35,17 @@ public override string FromNative (string var) { - return "GLib.Marshaller.FilenamePtrToString (" + var + ")"; + return "Gst.GLib.Marshaller.FilenamePtrToString (" + var + ")"; } public string AllocNative (string managed_var) { - return "GLib.Marshaller.StringToFilenamePtr (" + managed_var + ")"; + return "Gst.GLib.Marshaller.StringToFilenamePtr (" + managed_var + ")"; } public string ReleaseNative (string native_var) { - return "GLib.Marshaller.Free (" + native_var + ")"; + return "Gst.GLib.Marshaller.Free (" + native_var + ")"; } } } diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ConstStringGen.cs generator/ConstStringGen.cs --- gtk-sharp/generator/ConstStringGen.cs 2007-09-21 18:37:04.000000000 +0200 +++ generator/ConstStringGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -37,22 +37,22 @@ public override string FromNative (string var) { - return "GLib.Marshaller.Utf8PtrToString (" + var + ")"; + return "Gst.GLib.Marshaller.Utf8PtrToString (" + var + ")"; } public override string ToNativeReturn (string var) { - return "GLib.Marshaller.StringToPtrGStrdup (" + var + ")"; + return "Gst.GLib.Marshaller.StringToPtrGStrdup (" + var + ")"; } public string AllocNative (string managed_var) { - return "GLib.Marshaller.StringToPtrGStrdup (" + managed_var + ")"; + return "Gst.GLib.Marshaller.StringToPtrGStrdup (" + managed_var + ")"; } public string ReleaseNative (string native_var) { - return "GLib.Marshaller.Free (" + native_var + ")"; + return "Gst.GLib.Marshaller.Free (" + native_var + ")"; } } } diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Ctor.cs generator/Ctor.cs --- gtk-sharp/generator/Ctor.cs 2009-04-24 10:08:17.000000000 +0200 +++ generator/Ctor.cs 2009-08-05 16:49:19.000000000 +0200 @@ -32,14 +32,16 @@ private bool preferred; private string name; private bool needs_chaining = false; + private bool mini_object = false; public Ctor (XmlElement elem, ClassBase implementor) : base (elem, implementor) { if (elem.HasAttribute ("preferred")) preferred = true; - if (implementor is ObjectGen) + if (implementor is ObjectGen || implementor is MiniObjectGen) needs_chaining = true; name = implementor.Name; + mini_object = implementor is MiniObjectGen; } public bool Preferred { @@ -110,9 +112,14 @@ sw.WriteLine ("\t\t\tif (GetType () != typeof (" + name + ")) {"); if (Parameters.Count == 0) { - sw.WriteLine ("\t\t\t\tCreateNativeObject (new string [0], new GLib.Value[0]);"); + if (mini_object) + sw.WriteLine ("\t\t\t\tCreateNativeObject ();"); + else + sw.WriteLine ("\t\t\t\tCreateNativeObject (new string [0], new Gst.GLib.Value[0]);"); sw.WriteLine ("\t\t\t\treturn;"); } else { + if (mini_object) + throw new Exception ("MiniObject subclasses can't have ctors with parameters"); ArrayList names = new ArrayList (); ArrayList values = new ArrayList (); for (int i = 0; i < Parameters.Count; i++) { @@ -137,13 +144,13 @@ indent += "\t"; } sw.WriteLine (indent + "names.Add (\"" + names [i] + "\");"); - sw.WriteLine (indent + "vals.Add (new GLib.Value (" + values[i] + "));"); + sw.WriteLine (indent + "vals.Add (new Gst.GLib.Value (" + values[i] + "));"); if (p.Generatable is ClassBase && !(p.Generatable is StructBase)) sw.WriteLine ("\t\t\t\t}"); } - sw.WriteLine ("\t\t\t\tCreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));"); + sw.WriteLine ("\t\t\t\tCreateNativeObject ((string[])names.ToArray (typeof (string)), (Gst.GLib.Value[])vals.ToArray (typeof (Gst.GLib.Value)));"); sw.WriteLine ("\t\t\t\treturn;"); } else sw.WriteLine ("\t\t\t\tthrow new InvalidOperationException (\"Can't override this constructor.\");"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/DefaultSignalHandler.cs generator/DefaultSignalHandler.cs --- gtk-sharp/generator/DefaultSignalHandler.cs 2009-04-13 19:44:48.000000000 +0200 +++ generator/DefaultSignalHandler.cs 2009-08-05 16:49:19.000000000 +0200 @@ -68,13 +68,13 @@ { GenerateMethodBody (sw, implementor); if (retval.IsVoid) - sw.WriteLine ("\t\t\tGLib.Value ret = GLib.Value.Empty;"); + sw.WriteLine ("\t\t\tGst.GLib.Value ret = Gst.GLib.Value.Empty;"); else - sw.WriteLine ("\t\t\tGLib.Value ret = new GLib.Value (" + ReturnGType + ");"); + sw.WriteLine ("\t\t\tGst.GLib.Value ret = new Gst.GLib.Value (" + ReturnGType + ");"); - sw.WriteLine ("\t\t\tGLib.ValueArray inst_and_params = new GLib.ValueArray (" + (parms.Count + 1) + ");"); - sw.WriteLine ("\t\t\tGLib.Value[] vals = new GLib.Value [" + (parms.Count + 1) + "];"); - sw.WriteLine ("\t\t\tvals [0] = new GLib.Value (this);"); + sw.WriteLine ("\t\t\tGst.GLib.ValueArray inst_and_params = new Gst.GLib.ValueArray (" + (parms.Count + 1) + ");"); + sw.WriteLine ("\t\t\tGst.GLib.Value[] vals = new Gst.GLib.Value [" + (parms.Count + 1) + "];"); + sw.WriteLine ("\t\t\tvals [0] = new Gst.GLib.Value (this);"); sw.WriteLine ("\t\t\tinst_and_params.Append (vals [0]);"); string cleanup = ""; for (int i = 0; i < parms.Count; i++) { @@ -82,24 +82,24 @@ if (p.PassAs != "") { if (SymbolTable.Table.IsBoxed (p.CType)) { if (p.PassAs == "ref") - sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new GLib.Value (" + p.Name + ");"); + sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new Gst.GLib.Value (" + p.Name + ");"); else - sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new GLib.Value ((GLib.GType)typeof (" + p.CSType + "));"); + sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new Gst.GLib.Value ((Gst.GLib.GType)typeof (" + p.CSType + "));"); cleanup += "\t\t\t" + p.Name + " = (" + p.CSType + ") vals [" + i + "];\n"; } else { if (p.PassAs == "ref") - sw.WriteLine ("\t\t\tIntPtr " + p.Name + "_ptr = GLib.Marshaller.StructureToPtrAlloc (" + p.Generatable.CallByName (p.Name) + ");"); + sw.WriteLine ("\t\t\tIntPtr " + p.Name + "_ptr = Gst.GLib.Marshaller.StructureToPtrAlloc (" + p.Generatable.CallByName (p.Name) + ");"); else sw.WriteLine ("\t\t\tIntPtr " + p.Name + "_ptr = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (" + p.MarshalType + ")));"); - sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new GLib.Value (" + p.Name + "_ptr);"); + sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new Gst.GLib.Value (" + p.Name + "_ptr);"); cleanup += "\t\t\t" + p.Name + " = " + p.FromNative ("(" + p.MarshalType + ") Marshal.PtrToStructure (" + p.Name + "_ptr, typeof (" + p.MarshalType + "))") + ";\n"; cleanup += "\t\t\tMarshal.FreeHGlobal (" + p.Name + "_ptr);\n"; } } else if (p.IsLength && i > 0 && parms [i - 1].IsString) - sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new GLib.Value (System.Text.Encoding.UTF8.GetByteCount (" + parms [i-1].Name + "));"); + sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new Gst.GLib.Value (System.Text.Encoding.UTF8.GetByteCount (" + parms [i-1].Name + "));"); else - sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new GLib.Value (" + p.Name + ");"); + sw.WriteLine ("\t\t\tvals [" + (i + 1) + "] = new Gst.GLib.Value (" + p.Name + ");"); sw.WriteLine ("\t\t\tinst_and_params.Append (vals [" + (i + 1) + "]);"); } @@ -107,7 +107,7 @@ sw.WriteLine ("\t\t\tg_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);"); if (cleanup != "") sw.WriteLine (cleanup); - sw.WriteLine ("\t\t\tforeach (GLib.Value v in vals)"); + sw.WriteLine ("\t\t\tforeach (Gst.GLib.Value v in vals)"); sw.WriteLine ("\t\t\t\tv.Dispose ();"); if (!retval.IsVoid) { IGeneratable igen = SymbolTable.Table [retval.CType]; @@ -123,7 +123,9 @@ IGeneratable igen = SymbolTable.Table [retval.CType]; if (igen is ObjectGen) - return "GLib.GType.Object"; + return "Gst.GLib.GType.Object"; + if (igen is MiniObjectGen) + return "Gst.MiniObject.GType"; if (igen is BoxedGen) return retval.CSType + ".GType"; if (igen is EnumGen) @@ -131,11 +133,11 @@ switch (retval.CSType) { case "bool": - return "GLib.GType.Boolean"; + return "Gst.GLib.GType.Boolean"; case "string": - return "GLib.GType.String"; + return "Gst.GLib.GType.String"; case "int": - return "GLib.GType.Int"; + return "Gst.GLib.GType.Int"; default: throw new Exception (retval.CSType); } diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/EnumGen.cs generator/EnumGen.cs --- gtk-sharp/generator/EnumGen.cs 2009-05-28 20:49:11.000000000 +0200 +++ generator/EnumGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -98,7 +98,7 @@ if (Elem.GetAttribute("type") == "flags") sw.WriteLine ("\t[Flags]"); if (Elem.HasAttribute("gtype")) - sw.WriteLine ("\t[GLib.GType (typeof (" + NS + "." + Name + "GType))]"); + sw.WriteLine ("\t[Gst.GLib.GType (typeof (" + NS + "." + Name + "GType))]"); string access = IsInternal ? "internal" : "public"; sw.WriteLine ("\t" + access + " enum " + Name + enum_type + " {"); @@ -115,9 +115,9 @@ sw.WriteLine ("\t\t[DllImport (\"" + LibraryName + "\")]"); sw.WriteLine ("\t\tstatic extern IntPtr " + Elem.GetAttribute ("gtype") + " ();"); sw.WriteLine (); - sw.WriteLine ("\t\tpublic static GLib.GType GType {"); + sw.WriteLine ("\t\tpublic static Gst.GLib.GType GType {"); sw.WriteLine ("\t\t\tget {"); - sw.WriteLine ("\t\t\t\treturn new GLib.GType (" + Elem.GetAttribute ("gtype") + " ());"); + sw.WriteLine ("\t\t\t\treturn new Gst.GLib.GType (" + Elem.GetAttribute ("gtype") + " ());"); sw.WriteLine ("\t\t\t}"); sw.WriteLine ("\t\t}"); sw.WriteLine ("\t}"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/FieldBase.cs generator/FieldBase.cs --- gtk-sharp/generator/FieldBase.cs 2009-05-06 16:58:39.000000000 +0200 +++ generator/FieldBase.cs 2009-08-05 16:49:19.000000000 +0200 @@ -89,7 +89,7 @@ void CheckGlue () { getterName = setterName = getOffsetName = null; - if (Access != "public") + if (DefaultAccess != "public" && (!elem.HasAttribute ("access") || (Access != "public" && Access != "protected" && Access != "internal"))) return; string prefix = (container_type.NS + "Sharp_" + container_type.NS + "_" + container_type.Name).Replace(".", "__").ToLower (); @@ -154,8 +154,9 @@ StreamWriter sw = gen_info.Writer; string modifiers = elem.HasAttribute ("new_flag") ? "new " : ""; bool is_struct = table.IsStruct (CType) || table.IsBoxed (CType); + string access = elem.HasAttribute ("access") ? elem.GetAttribute ("access") : "public"; - sw.WriteLine (indent + "public " + modifiers + CSType + " " + Name + " {"); + sw.WriteLine (indent + access + " " + modifiers + CSType + " " + Name + " {"); if (Getter != null) { sw.Write (indent + "\tget "); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/GObjectVM.cs generator/GObjectVM.cs --- gtk-sharp/generator/GObjectVM.cs 2009-05-04 19:39:45.000000000 +0200 +++ generator/GObjectVM.cs 2009-08-05 16:49:19.000000000 +0200 @@ -154,17 +154,17 @@ sw.WriteLine ("\t\tpublic static " + Name + "Delegate " + Name + "Handler {"); sw.WriteLine ("\t\t\tset {"); sw.WriteLine ("\t\t\t\t{0}_handler = value;", CName); - sw.WriteLine ("\t\t\t\tOverride{0} ((GLib.GType) typeof ({1}), value == null ? null : {0}VMCallback);", Name, container_type.Name); + sw.WriteLine ("\t\t\t\tOverride{0} ((Gst.GLib.GType) typeof ({1}), value == null ? null : {0}VMCallback);", Name, container_type.Name); sw.WriteLine ("\t\t\t}"); sw.WriteLine ("\t\t}"); } else { - sw.WriteLine ("\t\tstatic void Override{0} (GLib.GType gtype)", this.Name); + sw.WriteLine ("\t\tstatic void Override{0} (Gst.GLib.GType gtype)", this.Name); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tOverride{0} (gtype, {0}VMCallback);", this.Name); sw.WriteLine ("\t\t}"); } sw.WriteLine (); - sw.WriteLine ("\t\tstatic void Override{0} (GLib.GType gtype, {0}NativeDelegate callback)", this.Name); + sw.WriteLine ("\t\tstatic void Override{0} (Gst.GLib.GType gtype, {0}NativeDelegate callback)", this.Name); sw.WriteLine ("\t\t{"); } @@ -181,7 +181,7 @@ protected void GenerateMethodBody (StreamWriter sw, ClassBase implementor) { - sw.WriteLine ("\t\t[GLib.DefaultSignalHandler(Type=typeof(" + (implementor != null ? implementor.QualifiedName : container_type.QualifiedName) + "), ConnectionMethod=\"Override" + this.Name +"\")]"); + sw.WriteLine ("\t\t[Gst.GLib.DefaultSignalHandler(Type=typeof(" + (implementor != null ? implementor.QualifiedName : container_type.QualifiedName) + "), ConnectionMethod=\"Override" + this.Name +"\")]"); sw.Write ("\t\t{0} ", this.Protection); if (this.modifiers != "") sw.Write ("{0} ", this.modifiers); @@ -261,7 +261,7 @@ return "FALSE"; case "true": return "TRUE"; - case "GLib.GType.None": + case "Gst.GLib.GType.None": return "G_TYPE_NONE"; default: return val; diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/InterfaceGen.cs generator/InterfaceGen.cs --- gtk-sharp/generator/InterfaceGen.cs 2009-08-05 08:24:27.000000000 +0200 +++ generator/InterfaceGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -60,7 +60,7 @@ public override string CallByName (string var, bool owned) { - return String.Format ("{0} == null ? IntPtr.Zero : (({0} is GLib.Object) ? ({0} as GLib.Object).{1} : ({0} as {2}Adapter).{1})", var, owned ? "OwnedHandle" : "Handle", QualifiedName); + return String.Format ("{0} == null ? IntPtr.Zero : (({0} is Gst.GLib.Object) ? ({0} as Gst.GLib.Object).{1} : ({0} as {2}Adapter).{1})", var, owned ? "OwnedHandle" : "Handle", QualifiedName); } public override string FromNative (string var, bool owned) @@ -91,7 +91,7 @@ sw.WriteLine (); sw.WriteLine ("\t\tstatic " + Name + "Adapter ()"); sw.WriteLine ("\t\t{"); - sw.WriteLine ("\t\t\tGLib.GType.Register (_gtype, typeof({0}Adapter));", Name); + sw.WriteLine ("\t\t\tGst.GLib.GType.Register (_gtype, typeof({0}Adapter));", Name); foreach (InterfaceVM vm in interface_vms) { if (vm.IsValid) sw.WriteLine ("\t\t\tiface.{0} = new {0}NativeDelegate ({0}_cb);", vm.Name); @@ -127,22 +127,22 @@ void GenerateCtors (StreamWriter sw) { // Native GObjects do not implement the *Implementor interfaces - sw.WriteLine ("\t\tGLib.Object implementor;", Name); + sw.WriteLine ("\t\tGst.GLib.Object implementor;", Name); sw.WriteLine (); if (!IsConsumeOnly) { sw.WriteLine ("\t\tpublic " + Name + "Adapter ()"); sw.WriteLine ("\t\t{"); - sw.WriteLine ("\t\t\tInitHandler = new GLib.GInterfaceInitHandler (Initialize);"); + sw.WriteLine ("\t\t\tInitHandler = new Gst.GLib.GInterfaceInitHandler (Initialize);"); sw.WriteLine ("\t\t}"); sw.WriteLine (); sw.WriteLine ("\t\tpublic {0}Adapter ({0}Implementor implementor)", Name); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tif (implementor == null)"); sw.WriteLine ("\t\t\t\tthrow new ArgumentNullException (\"implementor\");"); - sw.WriteLine ("\t\t\telse if (!(implementor is GLib.Object))"); - sw.WriteLine ("\t\t\t\tthrow new ArgumentException (\"implementor must be a subclass of GLib.Object\");"); - sw.WriteLine ("\t\t\tthis.implementor = implementor as GLib.Object;"); + sw.WriteLine ("\t\t\telse if (!(implementor is Gst.GLib.Object))"); + sw.WriteLine ("\t\t\t\tthrow new ArgumentException (\"implementor must be a subclass of Gst.GLib.Object\");"); + sw.WriteLine ("\t\t\tthis.implementor = implementor as Gst.GLib.Object;"); sw.WriteLine ("\t\t}"); sw.WriteLine (); } @@ -151,7 +151,7 @@ sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tif (!_gtype.IsInstance (handle))"); sw.WriteLine ("\t\t\t\tthrow new ArgumentException (\"The gobject doesn't implement the GInterface of this adapter\", \"handle\");"); - sw.WriteLine ("\t\t\timplementor = GLib.Object.GetObject (handle);"); + sw.WriteLine ("\t\t\timplementor = Gst.GLib.Object.GetObject (handle);"); sw.WriteLine ("\t\t}"); sw.WriteLine (); } @@ -160,9 +160,9 @@ { Method m = GetMethod ("GetType"); m.GenerateImport (sw); - sw.WriteLine ("\t\tprivate static GLib.GType _gtype = new GLib.GType ({0} ());", m.CName); + sw.WriteLine ("\t\tprivate static Gst.GLib.GType _gtype = new Gst.GLib.GType ({0} ());", m.CName); sw.WriteLine (); - sw.WriteLine ("\t\tpublic override GLib.GType GType {"); + sw.WriteLine ("\t\tpublic override Gst.GLib.GType GType {"); sw.WriteLine ("\t\t\tget {"); sw.WriteLine ("\t\t\t\treturn _gtype;"); sw.WriteLine ("\t\t\t}"); @@ -190,11 +190,11 @@ { sw.WriteLine ("\t\tpublic static " + Name + " GetObject (IntPtr handle, bool owned)"); sw.WriteLine ("\t\t{"); - sw.WriteLine ("\t\t\tGLib.Object obj = GLib.Object.GetObject (handle, owned);"); + sw.WriteLine ("\t\t\tGst.GLib.Object obj = Gst.GLib.Object.GetObject (handle, owned);"); sw.WriteLine ("\t\t\treturn GetObject (obj);"); sw.WriteLine ("\t\t}"); sw.WriteLine (); - sw.WriteLine ("\t\tpublic static " + Name + " GetObject (GLib.Object obj)"); + sw.WriteLine ("\t\tpublic static " + Name + " GetObject (Gst.GLib.Object obj)"); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tif (obj == null)"); sw.WriteLine ("\t\t\t\treturn null;"); @@ -230,7 +230,7 @@ sw.WriteLine ("\tusing System.Runtime.InteropServices;"); sw.WriteLine (); sw.WriteLine ("#region Autogenerated code"); - sw.WriteLine ("\tpublic class " + Name + "Adapter : GLib.GInterfaceAdapter, " + QualifiedName + " {"); + sw.WriteLine ("\tpublic class " + Name + "Adapter : Gst.GLib.GInterfaceAdapter, " + QualifiedName + " {"); sw.WriteLine (); if (!IsConsumeOnly) { @@ -249,7 +249,7 @@ GenProperties (gen_info, null); foreach (Signal sig in sigs.Values) - sig.GenEvent (sw, null, "GLib.Object.GetObject (Handle)"); + sig.GenEvent (sw, null, "Gst.GLib.Object.GetObject (Handle)"); Method temp = methods ["GetType"] as Method; if (temp != null) @@ -275,9 +275,9 @@ return; sw.WriteLine (); - sw.WriteLine ("\t[GLib.GInterface (typeof (" + Name + "Adapter))]"); + sw.WriteLine ("\t[Gst.GLib.GInterface (typeof (" + Name + "Adapter))]"); string access = IsInternal ? "internal" : "public"; - sw.WriteLine ("\t" + access + " interface " + Name + "Implementor : GLib.IWrapper {"); + sw.WriteLine ("\t" + access + " interface " + Name + "Implementor : Gst.GLib.IWrapper {"); sw.WriteLine (); Hashtable vm_table = new Hashtable (); foreach (InterfaceVM vm in interface_vms) { @@ -323,7 +323,7 @@ sw.WriteLine (); sw.WriteLine ("#region Autogenerated code"); string access = IsInternal ? "internal" : "public"; - sw.WriteLine ("\t" + access + " interface " + Name + " : GLib.IWrapper {"); + sw.WriteLine ("\t" + access + " interface " + Name + " : Gst.GLib.IWrapper {"); sw.WriteLine (); foreach (Signal sig in sigs.Values) { diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/MethodBody.cs generator/MethodBody.cs --- gtk-sharp/generator/MethodBody.cs 2009-01-07 18:10:08.000000000 +0100 +++ generator/MethodBody.cs 2009-08-05 16:49:19.000000000 +0200 @@ -111,7 +111,7 @@ sw.WriteLine (indent + "\t\t\t\t{0} = null;", parameters [i + 2].Name); sw.WriteLine (indent + "\t\t\t} else {"); sw.WriteLine (indent + "\t\t\t\t{0} = (IntPtr) GCHandle.Alloc ({1}_wrapper);", parameters [i + 1].Name, name); - sw.WriteLine (indent + "\t\t\t\t{0} = GLib.DestroyHelper.NotifyHandler;", parameters [i + 2].Name, parameters [i + 2].CSType); + sw.WriteLine (indent + "\t\t\t\t{0} = Gst.GLib.DestroyHelper.NotifyHandler;", parameters [i + 2].Name, parameters [i + 2].CSType); sw.WriteLine (indent + "\t\t\t}"); break; @@ -154,7 +154,7 @@ { if (!ThrowsException) return; - sw.WriteLine (indent + "\t\t\tif (error != IntPtr.Zero) throw new GLib.GException (error);"); + sw.WriteLine (indent + "\t\t\tif (error != IntPtr.Zero) throw new Gst.GLib.GException (error);"); } public bool ThrowsException { diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Method.cs generator/Method.cs --- gtk-sharp/generator/Method.cs 2009-01-08 19:00:47.000000000 +0100 +++ generator/Method.cs 2009-08-05 16:49:19.000000000 +0200 @@ -118,7 +118,7 @@ if (Name == "ToString" && Parameters.Count == 0) sw.Write("override "); - else if (Name == "GetGType" && container_type is ObjectGen) + else if (Name == "GetGType" && (container_type is ObjectGen || container_type is MiniObjectGen)) sw.Write("new "); else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null)))) sw.Write("new "); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/MiniObjectGen.cs generator/MiniObjectGen.cs --- gtk-sharp/generator/MiniObjectGen.cs 1970-01-01 01:00:00.000000000 +0100 +++ generator/MiniObjectGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -0,0 +1,326 @@ +// GtkSharp.Generation.MiniObjectGen.cs - The Mini Object Generatable. +// +// Author: Mike Kestner +// +// Copyright (c) 2001-2003 Mike Kestner +// Copyright (c) 2003-2004 Novell, Inc. +// Copyright (c) 2009 Sebastian Dröge . +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the GNU General Public +// License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + + +namespace GtkSharp.Generation { + + using System; + using System.Collections; + using System.IO; + using System.Text; + using System.Xml; + + public class MiniObjectGen : ObjectBase { + + private ArrayList custom_attrs = new ArrayList(); + private ArrayList strings = new ArrayList(); + private static Hashtable dirs = new Hashtable (); + + public MiniObjectGen (XmlElement ns, XmlElement elem) : base (ns, elem, false) + { + foreach (XmlNode node in elem.ChildNodes) { + if (!(node is XmlElement)) continue; + XmlElement member = (XmlElement) node; + if (member.HasAttribute ("hidden") && member.GetAttribute ("hidden") == "1") continue; + + switch (node.Name) { + case "custom-attribute": + custom_attrs.Add (member.InnerXml); + break; + + case "static-string": + strings.Add (node); + break; + + default: + if (!IsNodeNameHandled (node.Name)) + Console.WriteLine ("Unexpected node " + node.Name + " in " + CName); + break; + } + } + } + + public override string CallByName (string var, bool owned) + { + return String.Format ("{0} == null ? IntPtr.Zero : {0}.{1}", var, owned ? "OwnedHandle" : "Handle"); + } + + public override bool Validate () + { + ArrayList invalids = new ArrayList (); + + return base.Validate (); + } + + private bool DisableVoidCtor { + get { + return Elem.HasAttribute ("disable_void_ctor"); + } + } + + private bool DisableGTypeCtor { + get { + return Elem.HasAttribute ("disable_gtype_ctor"); + } + } + + private class DirectoryInfo { + public string assembly_name; + public Hashtable objects; + + public DirectoryInfo (string assembly_name) { + this.assembly_name = assembly_name; + objects = new Hashtable (); + } + } + + private static DirectoryInfo GetDirectoryInfo (string dir, string assembly_name) + { + DirectoryInfo result; + + if (dirs.ContainsKey (dir)) { + result = dirs [dir] as DirectoryInfo; + if (result.assembly_name != assembly_name) { + Console.WriteLine ("Can't put multiple assemblies in one directory."); + return null; + } + + return result; + } + + result = new DirectoryInfo (assembly_name); + dirs.Add (dir, result); + + return result; + } + + public override void Generate (GenerationInfo gen_info) + { + gen_info.CurrentType = Name; + + string asm_name = gen_info.AssemblyName.Length == 0 ? NS.ToLower () + "-sharp" : gen_info.AssemblyName; + DirectoryInfo di = GetDirectoryInfo (gen_info.Dir, asm_name); + + StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name); + + sw.WriteLine ("namespace " + NS + " {"); + sw.WriteLine (); + sw.WriteLine ("\tusing System;"); + sw.WriteLine ("\tusing System.Collections;"); + sw.WriteLine ("\tusing System.Runtime.InteropServices;"); + sw.WriteLine (); + + SymbolTable table = SymbolTable.Table; + + sw.WriteLine ("#region Autogenerated code"); + if (IsDeprecated) + sw.WriteLine ("\t[Obsolete]"); + foreach (string attr in custom_attrs) + sw.WriteLine ("\t" + attr); + sw.Write ("\t{0} {1}class " + Name, IsInternal ? "internal" : "public", IsAbstract ? "abstract " : ""); + string cs_parent = table.GetCSType(Elem.GetAttribute("parent")); + if (cs_parent != "") { + di.objects.Add (CName, QualifiedName); + sw.Write (" : " + cs_parent); + } + foreach (string iface in managed_interfaces) { + if (Parent != null && Parent.Implements (iface)) + continue; + sw.Write (", " + iface); + } + sw.WriteLine (" {"); + sw.WriteLine (); + + GenCtors (gen_info); + GenFields (gen_info); + + GenClassMembers (gen_info, cs_parent); + GenMethods (gen_info, null, null); + + foreach (XmlElement str in strings) { + sw.Write ("\t\tpublic static string " + str.GetAttribute ("name")); + sw.WriteLine (" {\n\t\t\t get { return \"" + str.GetAttribute ("value") + "\"; }\n\t\t}"); + } + + if (cs_parent != String.Empty && GetExpected (CName) != QualifiedName) { + sw.WriteLine (); + sw.WriteLine ("\t\tstatic " + Name + " ()"); + sw.WriteLine ("\t\t{"); + sw.WriteLine ("\t\t\tGtkSharp." + Studlify (asm_name) + ".ObjectManager.Initialize ();"); + sw.WriteLine ("\t\t}"); + } + + sw.WriteLine ("#endregion"); + AppendCustom (sw, gen_info.CustomDir); + + sw.WriteLine ("\t}"); + sw.WriteLine ("}"); + + sw.Close (); + gen_info.Writer = null; + Statistics.ObjectCount++; + } + + protected override void GenCtors (GenerationInfo gen_info) + { + if (!Elem.HasAttribute("parent")) + return; + + if (!DisableGTypeCtor) { + gen_info.Writer.WriteLine("\t\t[Obsolete]"); + gen_info.Writer.WriteLine("\t\tprotected " + Name + "(Gst.GLib.GType gtype) : base(gtype) {}"); + } + gen_info.Writer.WriteLine("\t\tpublic " + Name + "(IntPtr raw) : base(raw) {}"); + if (ctors.Count == 0 && !DisableVoidCtor) { + gen_info.Writer.WriteLine(); + gen_info.Writer.WriteLine("\t\tprotected " + Name + "() : base(IntPtr.Zero)"); + gen_info.Writer.WriteLine("\t\t{"); + gen_info.Writer.WriteLine("\t\t\tCreateNativeObject ();"); + gen_info.Writer.WriteLine("\t\t}"); + } + gen_info.Writer.WriteLine(); + + base.GenCtors (gen_info); + } + + void GenClassMembers (GenerationInfo gen_info, string cs_parent) + { + GenVirtualMethods (gen_info, null); + + if (class_struct_name == null || !CanGenerateClassStruct) return; + StreamWriter sw = gen_info.Writer; + GenerateClassStruct (gen_info); + if (cs_parent == "") + sw.WriteLine ("\t\tstatic uint class_offset = 0;"); + else + sw.WriteLine ("\t\tstatic uint class_offset = ((Gst.GLib.GType) typeof ({0})).ClassSize;", cs_parent); + sw.WriteLine ("\t\tstatic Hashtable class_structs;"); + sw.WriteLine (); + sw.WriteLine ("\t\tstatic {0} GetClassStruct (Gst.GLib.GType gtype, bool use_cache)", class_struct_name); + sw.WriteLine ("\t\t{"); + sw.WriteLine ("\t\t\tif (class_structs == null)"); + sw.WriteLine ("\t\t\t\tclass_structs = new Hashtable ();"); + sw.WriteLine (); + sw.WriteLine ("\t\t\tif (use_cache && class_structs.Contains (gtype))"); + sw.WriteLine ("\t\t\t\treturn ({0}) class_structs [gtype];", class_struct_name); + sw.WriteLine ("\t\t\telse {"); + sw.WriteLine ("\t\t\t\tIntPtr class_ptr = new IntPtr (gtype.ClassPtr.ToInt64 () + class_offset);"); + sw.WriteLine ("\t\t\t\t{0} class_struct = ({0}) Marshal.PtrToStructure (class_ptr, typeof ({0}));", class_struct_name); + sw.WriteLine ("\t\t\t\tif (use_cache)"); + sw.WriteLine ("\t\t\t\t\tclass_structs.Add (gtype, class_struct);"); + sw.WriteLine ("\t\t\t\treturn class_struct;"); + sw.WriteLine ("\t\t\t}"); + sw.WriteLine ("\t\t}"); + sw.WriteLine (); + sw.WriteLine ("\t\tstatic void OverrideClassStruct (Gst.GLib.GType gtype, {0} class_struct)", class_struct_name); + sw.WriteLine ("\t\t{"); + sw.WriteLine ("\t\t\tIntPtr class_ptr = new IntPtr (gtype.ClassPtr.ToInt64 () + class_offset);"); + sw.WriteLine ("\t\t\tMarshal.StructureToPtr (class_struct, class_ptr, false);"); + sw.WriteLine ("\t\t}"); + sw.WriteLine (); + } + + /* Keep this in sync with the one in glib/GType.cs */ + private static string GetExpected (string cname) + { + for (int i = 1; i < cname.Length; i++) { + if (Char.IsUpper (cname[i])) { + if (i == 1 && cname[0] == 'G') + return "Gst.GLib." + cname.Substring (1); + else + return cname.Substring (0, i) + "." + cname.Substring (i); + } + } + + throw new ArgumentException ("cname doesn't follow the NamespaceType capitalization style: " + cname); + } + + private static bool NeedsMap (Hashtable objs, string assembly_name) + { + foreach (string key in objs.Keys) + if (GetExpected (key) != ((string) objs[key])) + return true; + + return false; + } + + private static string Studlify (string name) + { + string result = ""; + + string[] subs = name.Split ('-'); + foreach (string sub in subs) + result += Char.ToUpper (sub[0]) + sub.Substring (1); + + return result; + } + + public static void GenerateMappers () + { + foreach (string dir in dirs.Keys) { + + DirectoryInfo di = dirs[dir] as DirectoryInfo; + + if (!NeedsMap (di.objects, di.assembly_name)) + continue; + + GenerationInfo gen_info = new GenerationInfo (dir, di.assembly_name); + + GenerateMapper (di, gen_info); + } + } + + private static void GenerateMapper (DirectoryInfo dir_info, GenerationInfo gen_info) + { + StreamWriter sw = gen_info.OpenStream ("ObjectManager"); + + sw.WriteLine ("namespace GtkSharp." + Studlify (dir_info.assembly_name) + " {"); + sw.WriteLine (); + sw.WriteLine ("\tpublic class ObjectManager {"); + sw.WriteLine (); + sw.WriteLine ("\t\tstatic bool initialized = false;"); + sw.WriteLine ("\t\t// Call this method from the appropriate module init function."); + sw.WriteLine ("\t\tpublic static void Initialize ()"); + sw.WriteLine ("\t\t{"); + sw.WriteLine ("\t\t\tif (initialized)"); + sw.WriteLine ("\t\t\t\treturn;"); + sw.WriteLine (""); + sw.WriteLine ("\t\t\tinitialized = true;"); + + foreach (string key in dir_info.objects.Keys) { + if (GetExpected(key) != ((string) dir_info.objects[key])) + sw.WriteLine ("\t\t\tGst.GLib.GType.Register ({0}.GType, typeof ({0}));", dir_info.objects [key]); + } + + sw.WriteLine ("\t\t}"); + sw.WriteLine ("\t}"); + sw.WriteLine ("}"); + sw.Close (); + } + + public override string FromNative (string var, bool owned) + { + return "Gst.MiniObject.GetObject(" + var + (owned ? ", true" : "") + ") as " + QualifiedName; + } + } +} + diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ObjectBase.cs generator/ObjectBase.cs --- gtk-sharp/generator/ObjectBase.cs 2009-08-05 08:24:27.000000000 +0200 +++ generator/ObjectBase.cs 2009-08-05 16:49:19.000000000 +0200 @@ -164,7 +164,7 @@ public override string FromNative (string var, bool owned) { - return "GLib.Object.GetObject(" + var + (owned ? ", true" : "") + ") as " + QualifiedName; + return "Gst.GLib.Object.GetObject(" + var + (owned ? ", true" : "") + ") as " + QualifiedName; } public string ClassStructName { diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ObjectGen.cs generator/ObjectGen.cs --- gtk-sharp/generator/ObjectGen.cs 2009-08-05 08:24:27.000000000 +0200 +++ generator/ObjectGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -256,14 +256,14 @@ if (!DisableGTypeCtor) { gen_info.Writer.WriteLine("\t\t[Obsolete]"); - gen_info.Writer.WriteLine("\t\tprotected " + Name + "(GLib.GType gtype) : base(gtype) {}"); + gen_info.Writer.WriteLine("\t\tprotected " + Name + "(Gst.GLib.GType gtype) : base(gtype) {}"); } gen_info.Writer.WriteLine("\t\tpublic " + Name + "(IntPtr raw) : base(raw) {}"); if (ctors.Count == 0 && !DisableVoidCtor) { gen_info.Writer.WriteLine(); gen_info.Writer.WriteLine("\t\tprotected " + Name + "() : base(IntPtr.Zero)"); gen_info.Writer.WriteLine("\t\t{"); - gen_info.Writer.WriteLine("\t\t\tCreateNativeObject (new string [0], new GLib.Value [0]);"); + gen_info.Writer.WriteLine("\t\t\tCreateNativeObject (new string [0], new Gst.GLib.Value [0]);"); gen_info.Writer.WriteLine("\t\t}"); } gen_info.Writer.WriteLine(); @@ -312,10 +312,10 @@ if (cs_parent == "") sw.WriteLine ("\t\tstatic uint class_offset = 0;"); else - sw.WriteLine ("\t\tstatic uint class_offset = ((GLib.GType) typeof ({0})).ClassSize;", cs_parent); + sw.WriteLine ("\t\tstatic uint class_offset = ((Gst.GLib.GType) typeof ({0})).ClassSize;", cs_parent); sw.WriteLine ("\t\tstatic Hashtable class_structs;"); sw.WriteLine (); - sw.WriteLine ("\t\tstatic {0} GetClassStruct (GLib.GType gtype, bool use_cache)", class_struct_name); + sw.WriteLine ("\t\tstatic {0} GetClassStruct (Gst.GLib.GType gtype, bool use_cache)", class_struct_name); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tif (class_structs == null)"); sw.WriteLine ("\t\t\t\tclass_structs = new Hashtable ();"); @@ -331,7 +331,7 @@ sw.WriteLine ("\t\t\t}"); sw.WriteLine ("\t\t}"); sw.WriteLine (); - sw.WriteLine ("\t\tstatic void OverrideClassStruct (GLib.GType gtype, {0} class_struct)", class_struct_name); + sw.WriteLine ("\t\tstatic void OverrideClassStruct (Gst.GLib.GType gtype, {0} class_struct)", class_struct_name); sw.WriteLine ("\t\t{"); sw.WriteLine ("\t\t\tIntPtr class_ptr = new IntPtr (gtype.ClassPtr.ToInt64 () + class_offset);"); sw.WriteLine ("\t\t\tMarshal.StructureToPtr (class_struct, class_ptr, false);"); @@ -345,7 +345,7 @@ for (int i = 1; i < cname.Length; i++) { if (Char.IsUpper (cname[i])) { if (i == 1 && cname[0] == 'G') - return "GLib." + cname.Substring (1); + return "Gst.GLib." + cname.Substring (1); else return cname.Substring (0, i) + "." + cname.Substring (i); } @@ -408,7 +408,7 @@ foreach (string key in dir_info.objects.Keys) { if (GetExpected(key) != ((string) dir_info.objects[key])) - sw.WriteLine ("\t\t\tGLib.GType.Register ({0}.GType, typeof ({0}));", dir_info.objects [key]); + sw.WriteLine ("\t\t\tGst.GLib.GType.Register ({0}.GType, typeof ({0}));", dir_info.objects [key]); } sw.WriteLine ("\t\t}"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/OpaqueGen.cs generator/OpaqueGen.cs --- gtk-sharp/generator/OpaqueGen.cs 2009-04-26 05:21:47.000000000 +0200 +++ generator/OpaqueGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -32,7 +32,7 @@ public override string FromNative(string var, bool owned) { - return var + " == IntPtr.Zero ? null : (" + QualifiedName + ") GLib.Opaque.GetOpaque (" + var + ", typeof (" + QualifiedName + "), " + (owned ? "true" : "false") + ")"; + return var + " == IntPtr.Zero ? null : (" + QualifiedName + ") Gst.GLib.Opaque.GetOpaque (" + var + ", typeof (" + QualifiedName + "), " + (owned ? "true" : "false") + ")"; } private bool DisableRawCtor { @@ -68,7 +68,7 @@ if (cs_parent != "") sw.Write (" : " + cs_parent); else - sw.Write (" : GLib.Opaque"); + sw.Write (" : Gst.GLib.Opaque"); foreach (string iface in managed_interfaces) { if (Parent != null && Parent.Implements (iface)) @@ -165,7 +165,7 @@ sw.WriteLine ("\t\t\tif (!Owned)"); sw.WriteLine ("\t\t\t\treturn;"); sw.WriteLine ("\t\t\tFinalizerInfo info = new FinalizerInfo (Handle);"); - sw.WriteLine ("\t\t\tGLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));"); + sw.WriteLine ("\t\t\tGst.GLib.Timeout.Add (50, new Gst.GLib.TimeoutHandler (info.Handler));"); sw.WriteLine ("\t\t}"); sw.WriteLine (); } @@ -173,9 +173,9 @@ #if false Method copy = Methods ["Copy"] as Method; if (copy != null && copy.Parameters.Count == 0) { - sw.WriteLine ("\t\tprotected override GLib.Opaque Copy (IntPtr raw)"); + sw.WriteLine ("\t\tprotected override Gst.GLib.Opaque Copy (IntPtr raw)"); sw.WriteLine ("\t\t{"); - sw.WriteLine ("\t\t\tGLib.Opaque result = new " + QualifiedName + " (" + copy.CName + " (raw));"); + sw.WriteLine ("\t\t\tGst.GLib.Opaque result = new " + QualifiedName + " (" + copy.CName + " (raw));"); sw.WriteLine ("\t\t\tresult.Owned = true;"); sw.WriteLine ("\t\t\treturn result;"); sw.WriteLine ("\t\t}"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Parameters.cs generator/Parameters.cs --- gtk-sharp/generator/Parameters.cs 2009-07-13 00:01:52.000000000 +0200 +++ generator/Parameters.cs 2009-08-05 16:49:19.000000000 +0200 @@ -263,9 +263,9 @@ } else if (gen is IManualMarshaler) call_parm = "native_" + CallName; else if (gen is ObjectBase) - call_parm = (gen as ObjectBase).CallByName (CallName, Owned); + call_parm = (gen as ObjectBase).CallByName(CallName, Owned); else - call_parm = gen.CallByName (CallName); + call_parm = gen.CallByName(CallName); return call_parm; } diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Parser.cs generator/Parser.cs --- gtk-sharp/generator/Parser.cs 2009-04-13 19:44:48.000000000 +0200 +++ generator/Parser.cs 2009-08-05 16:49:19.000000000 +0200 @@ -138,6 +138,9 @@ case "object": result.Add (new ObjectGen (ns, elem)); break; + case "mini-object": + result.Add (new MiniObjectGen (ns, elem)); + break; case "class": result.Add (new ClassGen (ns, elem)); break; diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Property.cs generator/Property.cs --- gtk-sharp/generator/Property.cs 2008-09-17 01:21:50.000000000 +0200 +++ generator/Property.cs 2009-08-05 16:49:19.000000000 +0200 @@ -64,7 +64,7 @@ } protected virtual string PropertyAttribute (string qpname) { - return "[GLib.Property (" + qpname + ")]"; + return "[Gst.GLib.Property (" + qpname + ")]"; } protected virtual string RawGetter (string qpname) { @@ -117,9 +117,9 @@ string v_type = ""; if (table.IsInterface (CType)) { - v_type = "(GLib.Object)"; + v_type = "(Gst.GLib.Object)"; } else if (table.IsOpaque (CType)) { - v_type = "(GLib.Opaque)"; + v_type = "(Gst.GLib.Opaque)"; } else if (table.IsEnum (CType)) { v_type = "(Enum)"; } @@ -140,12 +140,12 @@ sw.WriteLine(); } else if (Readable) { sw.WriteLine(indent + "get {"); - sw.WriteLine(indent + "\tGLib.Value val = " + RawGetter (qpname) + ";"); + sw.WriteLine(indent + "\tGst.GLib.Value val = " + RawGetter (qpname) + ";"); if (table.IsOpaque (CType) || table.IsBoxed (CType)) { sw.WriteLine(indent + "\t" + CSType + " ret = (" + CSType + ") val;"); } else if (table.IsInterface (CType)) { - // Do we have to dispose the GLib.Object from the GLib.Value? - sw.WriteLine (indent + "\t{0} ret = {0}Adapter.GetObject ((GLib.Object) val);", CSType); + // Do we have to dispose the Gst.GLib.Object from the Gst.GLib.Value? + sw.WriteLine (indent + "\t{0} ret = {0}Adapter.GetObject ((Gst.GLib.Object) val);", CSType); } else { sw.Write(indent + "\t" + CSType + " ret = "); sw.Write ("(" + CSType + ") "); @@ -166,13 +166,13 @@ sw.WriteLine(); } else if (Writable) { sw.WriteLine(indent + "set {"); - sw.Write(indent + "\tGLib.Value val = "); + sw.Write(indent + "\tGst.GLib.Value val = "); if (table.IsBoxed (CType)) { - sw.WriteLine("(GLib.Value) value;"); + sw.WriteLine("(Gst.GLib.Value) value;"); } else if (table.IsOpaque (CType)) { - sw.WriteLine("new GLib.Value(value, \"{0}\");", CType); + sw.WriteLine("new Gst.GLib.Value(value, \"{0}\");", CType); } else { - sw.Write("new GLib.Value("); + sw.Write("new Gst.GLib.Value("); if (v_type != "" && !(table.IsObject (CType) || table.IsInterface (CType) || table.IsOpaque (CType))) { sw.Write(v_type + " "); } diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/ReturnValue.cs generator/ReturnValue.cs --- gtk-sharp/generator/ReturnValue.cs 2009-05-06 18:20:35.000000000 +0200 +++ generator/ReturnValue.cs 2009-08-05 16:49:19.000000000 +0200 @@ -110,7 +110,9 @@ get { if (IGen == null) return String.Empty; - return IGen.ToNativeReturnType + (is_array || is_null_term ? "[]" : String.Empty); + else if (is_null_term) + return "IntPtr"; + return IGen.ToNativeReturnType + (is_array ? "[]" : String.Empty); } } @@ -121,14 +123,14 @@ if (ElementType != String.Empty) { string args = (owned ? "true" : "false") + ", " + (elements_owned ? "true" : "false"); - if (IGen.QualifiedName == "GLib.PtrArray") - return String.Format ("({0}[]) GLib.Marshaller.PtrArrayToArray ({1}, {2}, typeof({0}))", ElementType, var, args); + if (IGen.QualifiedName == "Gst.GLib.PtrArray") + return String.Format ("({0}[]) Gst.GLib.Marshaller.PtrArrayToArray ({1}, {2}, typeof({0}))", ElementType, var, args); else - return String.Format ("({0}[]) GLib.Marshaller.ListPtrToArray ({1}, typeof({2}), {3}, typeof({4}))", ElementType, var, IGen.QualifiedName, args, element_ctype == "gfilename*" ? "GLib.ListBase.FilenameString" : ElementType); + return String.Format ("({0}[]) Gst.GLib.Marshaller.ListPtrToArray ({1}, typeof({2}), {3}, typeof({4}))", ElementType, var, IGen.QualifiedName, args, element_ctype == "gfilename*" ? "Gst.GLib.ListBase.FilenameString" : ElementType); } else if (IGen is HandleBase) return ((HandleBase)IGen).FromNative (var, owned); else if (is_null_term) - return String.Format ("GLib.Marshaller.NullTermPtrToStringArray ({0}, {1})", var, owned ? "true" : "false"); + return String.Format ("Gst.Marshaller.NullTermPtrToStringArray ({0}, {1})", var, owned ? "true" : "false"); else return IGen.FromNativeReturn (var); } @@ -142,11 +144,11 @@ string args = ", typeof (" + ElementType + "), " + (owned ? "true" : "false") + ", " + (elements_owned ? "true" : "false"); var = "new " + IGen.QualifiedName + "(" + var + args + ")"; } else if (is_null_term) - return String.Format ("GLib.Marshaller.StringArrayToNullTermPointer ({0})", var); + return String.Format ("Gst.Marshaller.StringArrayToNullTermPointer ({0})", var); if (IGen is IManualMarshaler) return (IGen as IManualMarshaler).AllocNative (var); - else if (IGen is ObjectGen && owned) + else if ((IGen is ObjectGen || IGen is MiniObjectGen) && owned) return var + " == null ? IntPtr.Zero : " + var + ".OwnedHandle"; else if (IGen is OpaqueGen && owned) return var + " == null ? IntPtr.Zero : " + var + ".OwnedCopy"; diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/Signal.cs generator/Signal.cs --- gtk-sharp/generator/Signal.cs 2009-07-02 22:18:10.000000000 +0200 +++ generator/Signal.cs 2009-08-05 16:49:19.000000000 +0200 @@ -202,7 +202,7 @@ } sw.WriteLine("\t\t\t} catch (Exception) {"); sw.WriteLine ("\t\t\t\tException ex = new Exception (\"args.RetVal or 'out' property unset or set to incorrect type in " + EventHandlerQualifiedName + " callback\");"); - sw.WriteLine("\t\t\t\tGLib.ExceptionManager.RaiseUnhandledException (ex, true);"); + sw.WriteLine("\t\t\t\tGst.GLib.ExceptionManager.RaiseUnhandledException (ex, true);"); sw.WriteLine ("\t\t\t\t// NOTREACHED: above call doesn't return."); sw.WriteLine ("\t\t\t\tthrow ex;"); @@ -226,15 +226,15 @@ sw.WriteLine("\t\t{"); sw.WriteLine("\t\t\t{0} args = new {0} ();", EventArgsQualifiedName); sw.WriteLine("\t\t\ttry {"); - sw.WriteLine("\t\t\t\tGLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;"); + sw.WriteLine("\t\t\t\tGst.GLib.Signal sig = ((GCHandle) gch).Target as Gst.GLib.Signal;"); sw.WriteLine("\t\t\t\tif (sig == null)"); sw.WriteLine("\t\t\t\t\tthrow new Exception(\"Unknown signal GC handle received \" + gch);"); sw.WriteLine(); string finish = GenArgsInitialization (sw); sw.WriteLine("\t\t\t\t{0} handler = ({0}) sig.Handler;", EventHandlerQualifiedName); - sw.WriteLine("\t\t\t\thandler (GLib.Object.GetObject (inst), args);"); + sw.WriteLine("\t\t\t\thandler (Gst.GLib.Object.GetObject (inst), args);"); sw.WriteLine("\t\t\t} catch (Exception e) {"); - sw.WriteLine("\t\t\t\tGLib.ExceptionManager.RaiseUnhandledException (e, false);"); + sw.WriteLine("\t\t\t\tGst.GLib.ExceptionManager.RaiseUnhandledException (e, false);"); sw.WriteLine("\t\t\t}"); GenArgsCleanup (sw, finish); sw.WriteLine("\t\t}"); @@ -264,7 +264,7 @@ sw.WriteLine (); sw.WriteLine ("\tpublic delegate void " + EventHandlerName + "(object o, " + EventArgsName + " args);"); sw.WriteLine (); - sw.WriteLine ("\tpublic class " + EventArgsName + " : GLib.SignalArgs {"); + sw.WriteLine ("\tpublic class " + EventArgsName + " : Gst.GLib.SignalArgs {"); for (int i = 0; i < parms.Count; i++) { sw.WriteLine ("\t\tpublic " + parms[i].CSType + " " + parms[i].StudlyName + "{"); if (parms[i].PassAs != "out") { @@ -294,17 +294,17 @@ args_type = ", new " + DelegateName + "(" + CallbackName + ")"; } - sw.WriteLine("\t\t[GLib.Signal("+ CName + ")]"); + sw.WriteLine("\t\t[Gst.GLib.Signal("+ CName + ")]"); sw.Write("\t\tpublic "); if (NeedNew (implementor)) sw.Write("new "); sw.WriteLine("event " + EventHandlerQualifiedName + " " + Name + " {"); sw.WriteLine("\t\t\tadd {"); - sw.WriteLine("\t\t\t\tGLib.Signal sig = GLib.Signal.Lookup (" + target + ", " + CName + args_type + ");"); + sw.WriteLine("\t\t\t\tGst.GLib.Signal sig = Gst.GLib.Signal.Lookup (" + target + ", " + CName + args_type + ");"); sw.WriteLine("\t\t\t\tsig.AddDelegate (value);"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t\tremove {"); - sw.WriteLine("\t\t\t\tGLib.Signal sig = GLib.Signal.Lookup (" + target + ", " + CName + args_type + ");"); + sw.WriteLine("\t\t\t\tGst.GLib.Signal sig = Gst.GLib.Signal.Lookup (" + target + ", " + CName + args_type + ");"); sw.WriteLine("\t\t\t\tsig.RemoveDelegate (value);"); sw.WriteLine("\t\t\t}"); sw.WriteLine("\t\t}"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/StructBase.cs generator/StructBase.cs --- gtk-sharp/generator/StructBase.cs 2008-09-30 23:21:53.000000000 +0200 +++ generator/StructBase.cs 2009-08-05 16:49:19.000000000 +0200 @@ -92,7 +92,7 @@ public string AllocNative (string var) { - return "GLib.Marshaller.StructureToPtrAlloc (" + var + ")"; + return "Gst.GLib.Marshaller.StructureToPtrAlloc (" + var + ")"; } public string ReleaseNative (string var) diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/StructGen.cs generator/StructGen.cs --- gtk-sharp/generator/StructGen.cs 2005-08-05 22:34:45.000000000 +0200 +++ generator/StructGen.cs 2009-08-05 16:49:19.000000000 +0200 @@ -36,8 +36,8 @@ StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name); base.Generate (gen_info); if (GetMethod ("GetType") == null && GetMethod ("GetGType") == null) { - sw.WriteLine ("\t\tprivate static GLib.GType GType {"); - sw.WriteLine ("\t\t\tget { return GLib.GType.Pointer; }"); + sw.WriteLine ("\t\tprivate static Gst.GLib.GType GType {"); + sw.WriteLine ("\t\t\tget { return Gst.GLib.GType.Pointer; }"); sw.WriteLine ("\t\t}"); } sw.WriteLine ("#endregion"); diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/SymbolTable.cs generator/SymbolTable.cs --- gtk-sharp/generator/SymbolTable.cs 2009-04-13 19:44:48.000000000 +0200 +++ generator/SymbolTable.cs 2009-08-05 16:49:19.000000000 +0200 @@ -108,23 +108,24 @@ AddType (new ConstStringGen ("const-xmlChar")); AddType (new ConstStringGen ("const-char")); AddType (new ConstFilenameGen ("const-gfilename")); - AddType (new MarshalGen ("gfilename", "string", "IntPtr", "GLib.Marshaller.StringToFilenamePtr({0})", "GLib.Marshaller.FilenamePtrToStringGFree({0})")); - AddType (new MarshalGen ("gchar", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})")); - AddType (new MarshalGen ("char", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})")); + AddType (new MarshalGen ("gfilename", "string", "IntPtr", "Gst.GLib.Marshaller.StringToFilenamePtr({0})", "Gst.GLib.Marshaller.FilenamePtrToStringGFree({0})")); + AddType (new MarshalGen ("gchar", "string", "IntPtr", "Gst.GLib.Marshaller.StringToPtrGStrdup({0})", "Gst.GLib.Marshaller.PtrToStringGFree({0})")); + AddType (new MarshalGen ("char", "string", "IntPtr", "Gst.GLib.Marshaller.StringToPtrGStrdup({0})", "Gst.GLib.Marshaller.PtrToStringGFree({0})")); AddType (new SimpleGen ("GStrv", "string[]", "null")); // manually wrapped types requiring more complex marshaling - AddType (new ManualGen ("GInitiallyUnowned", "GLib.InitiallyUnowned", "GLib.Object.GetObject ({0})")); - AddType (new ManualGen ("GObject", "GLib.Object", "GLib.Object.GetObject ({0})")); - AddType (new ManualGen ("GList", "GLib.List")); - AddType (new ManualGen ("GPtrArray", "GLib.PtrArray")); - AddType (new ManualGen ("GSList", "GLib.SList")); - AddType (new MarshalGen ("gunichar", "char", "uint", "GLib.Marshaller.CharToGUnichar ({0})", "GLib.Marshaller.GUnicharToChar ({0})")); - AddType (new MarshalGen ("time_t", "System.DateTime", "IntPtr", "GLib.Marshaller.DateTimeTotime_t ({0})", "GLib.Marshaller.time_tToDateTime ({0})")); - AddType (new MarshalGen ("GString", "string", "IntPtr", "new GLib.GString ({0}).Handle", "GLib.GString.PtrToString ({0})")); - AddType (new MarshalGen ("GType", "GLib.GType", "IntPtr", "{0}.Val", "new GLib.GType({0})", "GLib.GType.None")); - AddType (new ByRefGen ("GValue", "GLib.Value")); - AddType (new SimpleGen ("GDestroyNotify", "GLib.DestroyNotify", "null")); + AddType (new ManualGen ("GInitiallyUnowned", "Gst.GLib.InitiallyUnowned", "Gst.GLib.Object.GetObject ({0})")); + AddType (new ManualGen ("GObject", "Gst.GLib.Object", "Gst.GLib.Object.GetObject ({0})")); + AddType (new ManualGen ("GstMiniObject", "Gst.MiniObject", "Gst.MiniObject.GetObject ({0})")); + AddType (new ManualGen ("GList", "Gst.GLib.List")); + AddType (new ManualGen ("GPtrArray", "Gst.GLib.PtrArray")); + AddType (new ManualGen ("GSList", "Gst.GLib.SList")); + AddType (new MarshalGen ("gunichar", "char", "uint", "Gst.GLib.Marshaller.CharToGUnichar ({0})", "Gst.GLib.Marshaller.GUnicharToChar ({0})")); + AddType (new MarshalGen ("time_t", "System.DateTime", "IntPtr", "Gst.GLib.Marshaller.DateTimeTotime_t ({0})", "Gst.GLib.Marshaller.time_tToDateTime ({0})")); + AddType (new MarshalGen ("GString", "string", "IntPtr", "new Gst.GLib.GString ({0}).Handle", "Gst.GLib.GString.PtrToString ({0})")); + AddType (new MarshalGen ("GType", "Gst.GLib.GType", "IntPtr", "{0}.Val", "new Gst.GLib.GType({0})", "Gst.GLib.GType.None")); + AddType (new ByRefGen ("GValue", "Gst.GLib.Value")); + AddType (new SimpleGen ("GDestroyNotify", "Gst.GLib.DestroyNotify", "null")); // FIXME: These ought to be handled properly. AddType (new SimpleGen ("GC", "IntPtr", "IntPtr.Zero")); @@ -136,7 +137,7 @@ AddType (new SimpleGen ("GByteArray", "IntPtr", "IntPtr.Zero")); AddType (new SimpleGen ("GData", "IntPtr", "IntPtr.Zero")); AddType (new SimpleGen ("GIOChannel", "IntPtr", "IntPtr.Zero")); - AddType (new SimpleGen ("GTypeModule", "GLib.Object", "null")); + AddType (new SimpleGen ("GTypeModule", "Gst.GLib.Object", "null")); AddType (new SimpleGen ("GHashTable", "System.IntPtr", "IntPtr.Zero")); AddType (new SimpleGen ("va_list", "IntPtr", "IntPtr.Zero")); AddType (new SimpleGen ("GParamSpec", "IntPtr", "IntPtr.Zero")); @@ -338,7 +339,8 @@ public bool IsObject(string c_type) { - if (this[c_type] is ObjectGen) + if ((this[c_type] is ObjectGen) || + (this[c_type] is MiniObjectGen)) return true; return false; diff -x'*Makefile' -x'*exe*' -x'*in' -x'*Makefile.am' -x'*orig' -x'*diff' -Naur gtk-sharp/generator/VirtualMethod.cs generator/VirtualMethod.cs --- gtk-sharp/generator/VirtualMethod.cs 2009-07-02 22:18:10.000000000 +0200 +++ generator/VirtualMethod.cs 2009-08-05 16:49:19.000000000 +0200 @@ -92,7 +92,7 @@ else type = this.container_type.Name; - sw.WriteLine ("\t\t\t\t{0} __obj = GLib.Object.GetObject (inst, false) as {0};", type); + sw.WriteLine ("\t\t\t\t{0} __obj = Gst.GLib.Object.GetObject (inst, false) as {0};", type); } sw.Write (call.Setup ("\t\t\t\t")); @@ -108,7 +108,7 @@ bool fatal = parms.HasOutParam || !retval.IsVoid; sw.WriteLine ("\t\t\t} catch (Exception e) {"); - sw.WriteLine ("\t\t\t\tGLib.ExceptionManager.RaiseUnhandledException (e, " + (fatal ? "true" : "false") + ");"); + sw.WriteLine ("\t\t\t\tGst.GLib.ExceptionManager.RaiseUnhandledException (e, " + (fatal ? "true" : "false") + ");"); if (fatal) { sw.WriteLine ("\t\t\t\t// NOTREACHED: above call does not return."); sw.WriteLine ("\t\t\t\tthrow e;");