summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--generator/Signal.cs10
-rw-r--r--generator/gst-codegen.diff101
2 files changed, 80 insertions, 31 deletions
diff --git a/generator/Signal.cs b/generator/Signal.cs
index 13d398d..12a3b37 100644
--- a/generator/Signal.cs
+++ b/generator/Signal.cs
@@ -271,12 +271,18 @@ namespace GtkSharp.Generation {
sw.WriteLine ("\t\tpublic " + parms[i].CSType + " " + parms[i].StudlyName + "{");
if (parms[i].PassAs != "out") {
sw.WriteLine ("\t\t\tget {");
- sw.WriteLine ("\t\t\t\treturn (" + parms[i].CSType + ") Args[" + i + "];");
+ if (SymbolTable.Table.IsInterface (parms [i].CType))
+ sw.WriteLine ("\t\t\t\treturn {0}Adapter.GetObject (Args [{1}] as Gst.GLib.Object);", parms [i].CSType, i);
+ else
+ sw.WriteLine ("\t\t\t\treturn ({0}) Args [{1}];", parms [i].CSType, i);
sw.WriteLine ("\t\t\t}");
}
if (parms[i].PassAs != "") {
sw.WriteLine ("\t\t\tset {");
- sw.WriteLine ("\t\t\t\tArgs[" + i + "] = (" + parms[i].CSType + ")value;");
+ if (SymbolTable.Table.IsInterface (parms [i].CType))
+ sw.WriteLine ("\t\t\t\tArgs [{0}] = value is {1}Adapter ? (value as {1}Adapter).Implementor : value;", i, parms [i].CSType);
+ else
+ sw.WriteLine ("\t\t\t\tArgs[" + i + "] = (" + parms[i].CSType + ")value;");
sw.WriteLine ("\t\t\t}");
}
sw.WriteLine ("\t\t}");
diff --git a/generator/gst-codegen.diff b/generator/gst-codegen.diff
index 89023b8..aaa95cf 100644
--- a/generator/gst-codegen.diff
+++ b/generator/gst-codegen.diff
@@ -1,5 +1,6 @@
+diff -Naur generator-upstream/BoxedGen.cs generator/BoxedGen.cs
--- generator-upstream/BoxedGen.cs 2009-01-04 23:29:56.000000000 +0100
-+++ generator/BoxedGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/BoxedGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -40,16 +40,16 @@
StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name);
@@ -20,8 +21,9 @@
sw.WriteLine ("\t\t{");
sw.WriteLine ("\t\t\treturn (" + QualifiedName + ") val.Val;");
+diff -Naur generator-upstream/ByRefGen.cs generator/ByRefGen.cs
--- generator-upstream/ByRefGen.cs 2008-02-26 17:29:14.000000000 +0100
-+++ generator/ByRefGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ByRefGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -46,7 +46,7 @@
public string AllocNative (string var_name)
@@ -31,8 +33,9 @@
}
public override string FromNative (string var_name)
+diff -Naur generator-upstream/CallbackGen.cs generator/CallbackGen.cs
--- generator-upstream/CallbackGen.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/CallbackGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/CallbackGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -140,7 +140,7 @@
sw.WriteLine ();
sw.WriteLine ("\t\t" + Name + "Native native_cb;");
@@ -60,8 +63,9 @@
if (fatal) {
sw.WriteLine ("\t\t\t\t// NOTREACHED: Above call does not return.");
sw.WriteLine ("\t\t\t\tthrow e;");
+diff -Naur generator-upstream/ConstFilenameGen.cs generator/ConstFilenameGen.cs
--- generator-upstream/ConstFilenameGen.cs 2007-09-21 18:37:04.000000000 +0200
-+++ generator/ConstFilenameGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ConstFilenameGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -35,17 +35,17 @@
public override string FromNative (string var)
@@ -83,8 +87,9 @@
}
}
}
+diff -Naur generator-upstream/ConstStringGen.cs generator/ConstStringGen.cs
--- generator-upstream/ConstStringGen.cs 2009-08-13 16:46:33.000000000 +0200
-+++ generator/ConstStringGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ConstStringGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -37,17 +37,17 @@
public override string FromNative (string var)
@@ -106,8 +111,9 @@
}
}
}
+diff -Naur generator-upstream/Ctor.cs generator/Ctor.cs
--- generator-upstream/Ctor.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/Ctor.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/Ctor.cs 2009-11-25 08:07:47.000000000 +0100
@@ -32,14 +32,16 @@
private bool preferred;
private string name;
@@ -158,8 +164,9 @@
sw.WriteLine ("\t\t\t\treturn;");
} else
sw.WriteLine ("\t\t\t\tthrow new InvalidOperationException (\"Can't override this constructor.\");");
+diff -Naur generator-upstream/DefaultSignalHandler.cs generator/DefaultSignalHandler.cs
--- generator-upstream/DefaultSignalHandler.cs 2009-04-13 19:44:48.000000000 +0200
-+++ generator/DefaultSignalHandler.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/DefaultSignalHandler.cs 2009-11-25 08:07:47.000000000 +0100
@@ -68,13 +68,13 @@
{
GenerateMethodBody (sw, implementor);
@@ -245,8 +252,9 @@
default:
throw new Exception (retval.CSType);
}
+diff -Naur generator-upstream/EnumGen.cs generator/EnumGen.cs
--- generator-upstream/EnumGen.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/EnumGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/EnumGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -98,7 +98,7 @@
if (Elem.GetAttribute("type") == "flags")
sw.WriteLine ("\t[Flags]");
@@ -268,8 +276,9 @@
sw.WriteLine ("\t\t\t}");
sw.WriteLine ("\t\t}");
sw.WriteLine ("\t}");
+diff -Naur generator-upstream/FieldBase.cs generator/FieldBase.cs
--- generator-upstream/FieldBase.cs 2009-08-13 16:46:33.000000000 +0200
-+++ generator/FieldBase.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/FieldBase.cs 2009-11-25 08:07:47.000000000 +0100
@@ -89,7 +89,7 @@
void CheckGlue ()
{
@@ -290,8 +299,10 @@
if (Getter != null) {
sw.Write (indent + "\tget ");
+diff -Naur generator-upstream/gapi3-codegen.in generator/gapi3-codegen.in
+diff -Naur generator-upstream/GObjectVM.cs generator/GObjectVM.cs
--- generator-upstream/GObjectVM.cs 2009-08-09 01:42:15.000000000 +0200
-+++ generator/GObjectVM.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/GObjectVM.cs 2009-11-25 08:07:47.000000000 +0100
@@ -154,17 +154,17 @@
sw.WriteLine ("\t\tpublic static " + Name + "Delegate " + Name + "Handler {");
sw.WriteLine ("\t\t\tset {");
@@ -331,8 +342,12 @@
return "G_TYPE_NONE";
default:
return val;
+diff -Naur generator-upstream/gst-codegen.diff generator/gst-codegen.diff
+diff -Naur generator-upstream/gst-gapi_codegen.exe generator/gst-gapi_codegen.exe
+diff -Naur generator-upstream/gst-gapi_codegen.exe.mdb generator/gst-gapi_codegen.exe.mdb
+diff -Naur generator-upstream/InterfaceGen.cs generator/InterfaceGen.cs
--- generator-upstream/InterfaceGen.cs 2009-08-19 18:13:17.000000000 +0200
-+++ generator/InterfaceGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/InterfaceGen.cs 2009-11-25 08:07:47.000000000 +0100
@@ -60,7 +60,7 @@
public override string CallByName (string var, bool owned)
@@ -453,8 +468,12 @@
sw.WriteLine ();
foreach (Signal sig in sigs.Values) {
+diff -Naur generator-upstream/Makefile generator/Makefile
+diff -Naur generator-upstream/Makefile.am generator/Makefile.am
+diff -Naur generator-upstream/Makefile.in generator/Makefile.in
+diff -Naur generator-upstream/ManagedCallString.cs generator/ManagedCallString.cs
--- generator-upstream/ManagedCallString.cs 2009-08-13 16:46:33.000000000 +0200
-+++ generator/ManagedCallString.cs 2009-10-03 11:57:28.000000000 +0200
++++ generator/ManagedCallString.cs 2009-11-25 08:07:47.000000000 +0100
@@ -50,12 +50,15 @@
error_param = p.Name;
continue;
@@ -514,8 +533,9 @@
return ret;
}
}
+diff -Naur generator-upstream/MethodBody.cs generator/MethodBody.cs
--- generator-upstream/MethodBody.cs 2009-01-07 18:10:08.000000000 +0100
-+++ generator/MethodBody.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/MethodBody.cs 2009-11-25 08:07:47.000000000 +0100
@@ -111,7 +111,7 @@
sw.WriteLine (indent + "\t\t\t\t{0} = null;", parameters [i + 2].Name);
sw.WriteLine (indent + "\t\t\t} else {");
@@ -534,8 +554,9 @@
}
public bool ThrowsException {
+diff -Naur generator-upstream/Method.cs generator/Method.cs
--- generator-upstream/Method.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/Method.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/Method.cs 2009-11-25 08:07:47.000000000 +0100
@@ -118,7 +118,7 @@
if (Name == "ToString" && Parameters.Count == 0)
@@ -545,6 +566,7 @@
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 -Naur generator-upstream/MiniObjectGen.cs generator/MiniObjectGen.cs
--- generator-upstream/MiniObjectGen.cs 1970-01-01 01:00:00.000000000 +0100
+++ generator/MiniObjectGen.cs 2009-10-03 11:56:16.000000000 +0200
@@ -0,0 +1,326 @@
@@ -874,8 +896,10 @@
+ }
+}
+
+diff -Naur generator-upstream/MiniObjectGen.cs.rej generator/MiniObjectGen.cs.rej
+diff -Naur generator-upstream/ObjectBase.cs generator/ObjectBase.cs
--- generator-upstream/ObjectBase.cs 2009-08-05 08:24:27.000000000 +0200
-+++ generator/ObjectBase.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ObjectBase.cs 2009-11-25 08:07:54.000000000 +0100
@@ -164,7 +164,7 @@
public override string FromNative (string var, bool owned)
@@ -885,8 +909,9 @@
}
public string ClassStructName {
+diff -Naur generator-upstream/ObjectGen.cs generator/ObjectGen.cs
--- generator-upstream/ObjectGen.cs 2009-08-19 18:13:17.000000000 +0200
-+++ generator/ObjectGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ObjectGen.cs 2009-11-25 08:07:54.000000000 +0100
@@ -253,7 +253,7 @@
gen_info.Writer.WriteLine();
gen_info.Writer.WriteLine("\t\tprotected " + Name + "() : base(IntPtr.Zero)");
@@ -936,8 +961,9 @@
}
sw.WriteLine ("\t\t}");
+diff -Naur generator-upstream/OpaqueGen.cs generator/OpaqueGen.cs
--- generator-upstream/OpaqueGen.cs 2009-08-19 18:13:17.000000000 +0200
-+++ generator/OpaqueGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/OpaqueGen.cs 2009-11-25 08:07:54.000000000 +0100
@@ -32,7 +32,7 @@
public override string FromNative(string var, bool owned)
@@ -977,8 +1003,9 @@
sw.WriteLine ("\t\t\tresult.Owned = true;");
sw.WriteLine ("\t\t\treturn result;");
sw.WriteLine ("\t\t}");
+diff -Naur generator-upstream/Parameters.cs generator/Parameters.cs
--- generator-upstream/Parameters.cs 2009-07-13 00:01:52.000000000 +0200
-+++ generator/Parameters.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/Parameters.cs 2009-11-25 08:07:54.000000000 +0100
@@ -263,9 +263,9 @@
} else if (gen is IManualMarshaler)
call_parm = "native_" + CallName;
@@ -991,8 +1018,9 @@
return call_parm;
}
+diff -Naur generator-upstream/Parser.cs generator/Parser.cs
--- generator-upstream/Parser.cs 2009-04-13 19:44:48.000000000 +0200
-+++ generator/Parser.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/Parser.cs 2009-11-25 08:07:54.000000000 +0100
@@ -138,6 +138,9 @@
case "object":
result.Add (new ObjectGen (ns, elem));
@@ -1003,8 +1031,9 @@
case "class":
result.Add (new ClassGen (ns, elem));
break;
+diff -Naur generator-upstream/Property.cs generator/Property.cs
--- generator-upstream/Property.cs 2008-09-17 01:21:50.000000000 +0200
-+++ generator/Property.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/Property.cs 2009-11-25 08:07:54.000000000 +0100
@@ -64,7 +64,7 @@
}
@@ -1060,8 +1089,9 @@
if (v_type != "" && !(table.IsObject (CType) || table.IsInterface (CType) || table.IsOpaque (CType))) {
sw.Write(v_type + " ");
}
+diff -Naur generator-upstream/ReturnValue.cs generator/ReturnValue.cs
--- generator-upstream/ReturnValue.cs 2009-09-23 23:27:15.000000000 +0200
-+++ generator/ReturnValue.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/ReturnValue.cs 2009-11-25 08:07:54.000000000 +0100
@@ -114,7 +114,9 @@
get {
if (IGen == null)
@@ -1106,8 +1136,9 @@
return var + " == null ? IntPtr.Zero : " + var + ".OwnedHandle";
else if (IGen is OpaqueGen && owned)
return var + " == null ? IntPtr.Zero : " + var + ".OwnedCopy";
---- generator-upstream/Signal.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/Signal.cs 2009-10-03 11:56:16.000000000 +0200
+diff -Naur generator-upstream/Signal.cs generator/Signal.cs
+--- generator-upstream/Signal.cs 2009-11-23 18:19:46.000000000 +0100
++++ generator/Signal.cs 2009-11-25 08:08:27.000000000 +0100
@@ -204,7 +204,7 @@
}
sw.WriteLine("\t\t\t} catch (Exception) {");
@@ -1136,7 +1167,7 @@
sw.WriteLine("\t\t\t}");
GenArgsCleanup (sw, finish);
sw.WriteLine("\t\t}");
-@@ -266,7 +266,7 @@
+@@ -266,13 +266,13 @@
sw.WriteLine ();
sw.WriteLine ("\tpublic delegate void " + EventHandlerName + "(object o, " + EventArgsName + " args);");
sw.WriteLine ();
@@ -1145,7 +1176,14 @@
for (int i = 0; i < parms.Count; i++) {
sw.WriteLine ("\t\tpublic " + parms[i].CSType + " " + parms[i].StudlyName + "{");
if (parms[i].PassAs != "out") {
-@@ -296,17 +296,17 @@
+ sw.WriteLine ("\t\t\tget {");
+ if (SymbolTable.Table.IsInterface (parms [i].CType))
+- sw.WriteLine ("\t\t\t\treturn {0}Adapter.GetObject (Args [{1}] as GLib.Object);", parms [i].CSType, i);
++ sw.WriteLine ("\t\t\t\treturn {0}Adapter.GetObject (Args [{1}] as Gst.GLib.Object);", parms [i].CSType, i);
+ else
+ sw.WriteLine ("\t\t\t\treturn ({0}) Args [{1}];", parms [i].CSType, i);
+ sw.WriteLine ("\t\t\t}");
+@@ -302,17 +302,17 @@
args_type = ", new " + DelegateName + "(" + CallbackName + ")";
}
@@ -1166,8 +1204,10 @@
sw.WriteLine("\t\t\t\tsig.RemoveDelegate (value);");
sw.WriteLine("\t\t\t}");
sw.WriteLine("\t\t}");
+diff -Naur generator-upstream/Signal.cs.orig generator/Signal.cs.orig
+diff -Naur generator-upstream/StructBase.cs generator/StructBase.cs
--- generator-upstream/StructBase.cs 2009-08-19 18:13:17.000000000 +0200
-+++ generator/StructBase.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/StructBase.cs 2009-11-25 08:07:54.000000000 +0100
@@ -92,7 +92,7 @@
public string AllocNative (string var)
@@ -1177,8 +1217,9 @@
}
public string ReleaseNative (string var)
+diff -Naur generator-upstream/StructGen.cs generator/StructGen.cs
--- generator-upstream/StructGen.cs 2005-08-05 22:34:45.000000000 +0200
-+++ generator/StructGen.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/StructGen.cs 2009-11-25 08:07:54.000000000 +0100
@@ -36,8 +36,8 @@
StreamWriter sw = gen_info.Writer = gen_info.OpenStream (Name);
base.Generate (gen_info);
@@ -1190,8 +1231,9 @@
sw.WriteLine ("\t\t}");
}
sw.WriteLine ("#endregion");
+diff -Naur generator-upstream/SymbolTable.cs generator/SymbolTable.cs
--- generator-upstream/SymbolTable.cs 2009-08-13 16:46:33.000000000 +0200
-+++ generator/SymbolTable.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/SymbolTable.cs 2009-11-25 08:07:54.000000000 +0100
@@ -108,23 +108,24 @@
AddType (new ConstStringGen ("const-xmlChar"));
AddType (new ConstStringGen ("const-char"));
@@ -1250,8 +1292,9 @@
return true;
return false;
+diff -Naur generator-upstream/VirtualMethod.cs generator/VirtualMethod.cs
--- generator-upstream/VirtualMethod.cs 2009-09-03 21:50:53.000000000 +0200
-+++ generator/VirtualMethod.cs 2009-10-03 11:56:16.000000000 +0200
++++ generator/VirtualMethod.cs 2009-11-25 08:07:54.000000000 +0100
@@ -92,7 +92,7 @@
else
type = this.container_type.Name;