Static methods corresponding to g_simple_async_report_* functions were
automatically grouped into the badly-named Simple class.
Add fix-ups to hide this Simple class, move the methods to
SimpleAsyncResult and rename them accordingly.
The values found by the parser for the GSocketFamily enum are in fact
constants defined in another header file, so the generated code would be
invalid.
We now hardcode the values through fix-ups. They probably don't
change, and they are also hardcoded in the gir file anyway, so it should
be OK.
Also fix-up a GInetAddress constructor that now gets generated.
The implementor class is not generated correctly, because of some
strangeness with the method names. And I don't think anyone would need
to implement it.
For properties, the parser guesses the type name from an all-caps macro
name. So if the GType has a funny name, like dbus -> DBus, the property
type is wrong.
The parser automatically groups static functions with the same prefix
into classes, but the right name can't be determined automatically.
In this case, ContentType.GetDescription(...) is much better than
Content.TypeGetDescription(...).
The interface parsing fix added a few properties on interfaces that have
no accessors. In this case, the code generated in the adapter for those
properties does not build: it tries to use (Get/Set)Property but they
don"t inherit from Glib.Object.
Hide those properties for now, until a proper fix is implemented. As
they were not available before, it's not that bad.
With the new G_DEFINE_INTERFACE macro, the interface initialization
function is named *_default_init, so we need to handle that like
*_base_init and *_class_init.
Reparse gtk/gtk-api.raw and gio/gio-api.raw. This creates some new
signals that were previously incorrectly reported as virtual methods,
and also adds some properties.
* generator/InterfaceGen.cs: don't grab the StreamWriter for consume-only.
* generator/InterfaceVM.cs: don't bitch or fail validation when missing
target on consume-only.
* generator/ObjectBase.cs: support a target_method attr on vms to point the
callback invocations at when the names don't match.
* gio/Gio.metadata: marks a few more ifaces consume-only until somebody
complains they need to implement one of them.
* gio/DBusInterfaceVTable.cs: unbuilt stab at a connection api.
* gio/Gio.metadata: some build tweaks and workarounds.
* gio/gio-api.raw: parse for 2.27.90.
2010-11-21 Mike Kestner <mkestner@novell.com>
* removed the glade dir from the build since libglade is
no longer supported in gnome3. removed the gapi2-compat stuff
since it doesn't make much sense now. Removed the bootstrap
mechanism since we are unlikely to be releasing multiple API
versions from the same tree going forward. The build is now a
straight autogen.sh like most autotools projects.
* glib/Global.cs: Kill the calling convention field again.
It breaks GLib 2.x compatibility in the generator and there is
probably no need to make the calling convention configurable.
* .cs, *.custom: Hardcode Cdecl calling convention instead of
using GLib's field.
svn path=/trunk/gtk-sharp/; revision=141283
* glib/Global.cs: Add a public constant field specifying the
calling convention used by GLib and depending libraries.
By now it's hardcoded to Cdecl as every non-Win32 runtime
should ignore this attribute.
* *.cs, *.custom: Use GLib.Global.CallingConvention for both
pinvokes and callbacks. Plugs a stack leak on Win32. All
pinvokes defaulted to StdCall and thus the stack was never
cleaned up.
svn path=/trunk/gtk-sharp/; revision=141175
Complete the major version jump. Gtk# 3 and 2 are now both
installable within the same prefix.
* */glue/Makefile.am: Produce *sharpglue-3 gluelibs.
* *.custom, *.cs: pinvoke the new glue library.
* *-2.0.pc.in: Rename to *-3.0.pc.in.
svn path=/trunk/gtk-sharp/; revision=140941
Add support for virtual methods(vm) to the generator.
* parser/gapi2xml.pl: Generate a class_struct element with
all members of the class structure. Dump the first (instance)
parameter for signal and vm elements. Bump up parser version.
* generator/GObjectVM.cs: Added. Support for GObject virtual methods.
* generator/DefaultSignalHandler.cs: Signal specific part of vm
generation.
* generator/InterfaceVM.cs: New class for interface vms.
* generator/ObjectBase.cs: Parse the class struct.
svn path=/trunk/gtk-sharp/; revision=131604
* parser/gapi2xml.pl: Introduce a "parser_version" attribute.
* generator/GenBase.cs: Implement a property to access the
attribute's value.
svn path=/trunk/gtk-sharp/; revision=129807