Author: mkestner
Date: 2007-09-19 14:15:55 -0400 (Wed, 19 Sep 2007)
New Revision: 86026

Modified:
   trunk/gtk-sharp/ChangeLog
   trunk/gtk-sharp/generator/InterfaceGen.cs
   trunk/gtk-sharp/generator/VirtualMethod.cs
Log:

2007-09-19  Mike Kestner  <[EMAIL PROTECTED]>

        * generator/VirtualMethod.cs: refactor delegate generation into
        GenerateCallback and add [CDeclCallback] which was missing.
        * generator/InterfaceGen.cs: kill GenerateDelegates.  They are now
        generated by VirtualMethod.GenerateCallback.


Modified: trunk/gtk-sharp/ChangeLog
===================================================================
--- trunk/gtk-sharp/ChangeLog   2007-09-19 18:12:39 UTC (rev 86025)
+++ trunk/gtk-sharp/ChangeLog   2007-09-19 18:15:55 UTC (rev 86026)
@@ -1,3 +1,10 @@
+2007-09-19  Mike Kestner  <[EMAIL PROTECTED]>
+
+       * generator/VirtualMethod.cs: refactor delegate generation into
+       GenerateCallback and add [CDeclCallback] which was missing.
+       * generator/InterfaceGen.cs: kill GenerateDelegates.  They are now
+       generated by VirtualMethod.GenerateCallback.
+
 2007-09-14  Mike Kestner  <[EMAIL PROTECTED]>
 
        * generator/CallbackGen.cs (GenInvoker): null check the sig field

Modified: trunk/gtk-sharp/generator/InterfaceGen.cs
===================================================================
--- trunk/gtk-sharp/generator/InterfaceGen.cs   2007-09-19 18:12:39 UTC (rev 
86025)
+++ trunk/gtk-sharp/generator/InterfaceGen.cs   2007-09-19 18:15:55 UTC (rev 
86026)
@@ -3,7 +3,7 @@
 // Author: Mike Kestner <[EMAIL PROTECTED]>
 //
 // Copyright (c) 2001-2003 Mike Kestner
-// Copyright (c) 2004 Novell, Inc.
+// Copyright (c) 2004, 2007 Novell, Inc.
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of version 2 of the GNU General Public
@@ -75,18 +75,6 @@
                        }
                }
 
-               void GenerateDelegates (StreamWriter sw)
-               {
-                       if (vms.Count == 0)
-                               return;
-
-                       foreach (VirtualMethod vm in vms) {
-                               if (vm.IsValid)
-                                       sw.WriteLine ("\t\t" + 
vm.NativeDelegate);
-                       }
-                       sw.WriteLine ();
-               }
-
                void GenerateIfaceStruct (StreamWriter sw)
                {
                        sw.WriteLine ("\t\tstatic " + IfaceName + " iface;");
@@ -184,7 +172,6 @@
                        sw.WriteLine ("\tinternal class " + Name + "Adapter : 
GLib.GInterfaceAdapter {");
                        sw.WriteLine ();
 
-                       GenerateDelegates (sw);
                        GenerateIfaceStruct (sw);
                        GenerateStaticCtor (sw);
                        GenerateCallbacks (sw);

Modified: trunk/gtk-sharp/generator/VirtualMethod.cs
===================================================================
--- trunk/gtk-sharp/generator/VirtualMethod.cs  2007-09-19 18:12:39 UTC (rev 
86025)
+++ trunk/gtk-sharp/generator/VirtualMethod.cs  2007-09-19 18:15:55 UTC (rev 
86026)
@@ -83,12 +83,6 @@
                        }
                }
 
-               public string NativeDelegate {
-                       get {
-                               return "delegate " + MarshalReturnType + " " + 
Name + "Delegate (" + parms.ImportSignature + ");";
-                       }
-               }
-
                public void GenerateCallback (StreamWriter sw)
                {
                        if (!Validate ())
@@ -102,6 +96,10 @@
                                call_string = "__obj." + (Name.StartsWith 
("Get") ? Name.Substring (3) : Name);
                        else if (IsSetter)
                                call_string = "__obj." + Name.Substring (3) + " 
= " + call;
+
+                       sw.WriteLine ("\t\t[GLib.CDeclCallback]");
+                       sw.WriteLine ("\t\tdelegate " + MarshalReturnType + " " 
+ Name + "Delegate (" + parms.ImportSignature + ");");
+                       sw.WriteLine ();
                        sw.WriteLine ("\t\tstatic " + MarshalReturnType + " " + 
Name + "Callback (" + parms.ImportSignature + ")");
                        sw.WriteLine ("\t\t{");
                        sw.WriteLine ("\t\t\t" + type + " __obj = 
GLib.Object.GetObject (" + name + ", false) as " + type + ";");

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to