2003-10-12 Mike Kestner <mkestner@ximian.com>

* art/Art.metadata : new xpath metadata rules
	* art/Makefile.in : apply metadata before generation
	* atk/Atk.metadata : new xpath metadata rules
	* atk/Makefile.in : apply metadata before generation
	* gda/Gda.metadata : new xpath metadata rules
	* gda/Makefile.in : apply metadata before generation
	* gdk/Gdk.metadata : new xpath metadata rules
	* gdk/Makefile.in : apply metadata before generation
	* gnomedb/GnomeDb.metadata : new xpath metadata rules
	* gnomedb/Makefile.in : apply metadata before generation
	* pango/Pango.metadata : new xpath metadata rules
	* pango/Makefile.in : apply metadata before generation
	* parser/Makefile.in : build and install new gapi-fixup
	* parser/gapi-fixup.cs : new xpath based metadata engine
	* sources/*.metadata : remove most of the old metadata,
	still have to convert Gtk and Gnome to xpaths.

svn path=/trunk/gtk-sharp/; revision=18947
This commit is contained in:
Mike Kestner 2003-10-13 03:06:22 +00:00
parent 306e34f174
commit 6e44bd8cdb
28 changed files with 6427 additions and 6836 deletions

View File

@ -1,3 +1,22 @@
2003-10-12 Mike Kestner <mkestner@ximian.com>
* art/Art.metadata : new xpath metadata rules
* art/Makefile.in : apply metadata before generation
* atk/Atk.metadata : new xpath metadata rules
* atk/Makefile.in : apply metadata before generation
* gda/Gda.metadata : new xpath metadata rules
* gda/Makefile.in : apply metadata before generation
* gdk/Gdk.metadata : new xpath metadata rules
* gdk/Makefile.in : apply metadata before generation
* gnomedb/GnomeDb.metadata : new xpath metadata rules
* gnomedb/Makefile.in : apply metadata before generation
* pango/Pango.metadata : new xpath metadata rules
* pango/Makefile.in : apply metadata before generation
* parser/Makefile.in : build and install new gapi-fixup
* parser/gapi-fixup.cs : new xpath based metadata engine
* sources/*.metadata : remove most of the old metadata,
still have to convert Gtk and Gnome to xpaths.
2003-10-11 Mike Kestner <mkestner@ximian.com> 2003-10-11 Mike Kestner <mkestner@ximian.com>
* gtk/gtk-api.xml : regenerated * gtk/gtk-api.xml : regenerated

5
art/Art.metadata Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<metadata>
<attr path="//class[@cname='ArtAffine_']/method[@name='ToString']" name="name">ToStringArray</attr>
<attr path="//struct[@cname='ArtVpathDash']" name="opaque">1</attr>
</metadata>

View File

@ -11,7 +11,8 @@ ASSEMBLY=art-sharp.dll
all: $(ASSEMBLY) all: $(ASSEMBLY)
generated-stamp: $(APIS) ../generator/gapi_codegen.exe generated-stamp: $(APIS) ../generator/gapi_codegen.exe Art.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=art-api.xml --metadata=Art.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \ $(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \ --include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=art-sharp && touch generated-stamp --assembly-name=art-sharp && touch generated-stamp

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -829,7 +828,7 @@
<parameter type="double" name="theta" /> <parameter type="double" name="theta" />
</parameters> </parameters>
</method> </method>
<method name="ToStringArray" cname="art_affine_to_string" shared="true"> <method cname="art_affine_to_string" shared="true" name="ToStringArray">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="char" array="true" name="str" /> <parameter type="char" array="true" name="str" />

5
atk/Atk.metadata Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<metadata>
<attr path="//interface[@cname='AtkDocument']/method[@name='GetDocument']" name="name">GetTheDocument</attr>
<attr path="//class[@cname='AtkState_']" name="name">StateManager</attr>
</metadata>

View File

@ -8,7 +8,8 @@ ASSEMBLY=atk-sharp.dll
all: $(ASSEMBLY) all: $(ASSEMBLY)
generated-stamp: $(APIS) ../generator/gapi_codegen.exe generated-stamp: $(APIS) ../generator/gapi_codegen.exe Atk.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=atk-api.xml --metadata=Atk.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \ $(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \ --include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=art-sharp && touch generated-stamp --assembly-name=art-sharp && touch generated-stamp

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -368,7 +367,7 @@
</method> </method>
</interface> </interface>
<interface name="Document" cname="AtkDocument"> <interface name="Document" cname="AtkDocument">
<method name="GetTheDocument" cname="atk_document_get_document"> <method cname="atk_document_get_document" name="GetTheDocument">
<return-type type="gpointer" /> <return-type type="gpointer" />
</method> </method>
<method name="GetDocumentType" cname="atk_document_get_document_type"> <method name="GetDocumentType" cname="atk_document_get_document_type">
@ -1524,7 +1523,7 @@
</parameters> </parameters>
</method> </method>
</class> </class>
<class name="StateManager" cname="AtkState_"> <class cname="AtkState_" name="StateManager">
<method name="TypeForName" cname="atk_state_type_for_name" shared="true"> <method name="TypeForName" cname="atk_state_type_for_name" shared="true">
<return-type type="AtkStateType" /> <return-type type="AtkStateType" />
<parameters> <parameters>

18
gda/Gda.metadata Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<metadata>
<attr path="//class[@cname='GdaType_']" name="hidden">1</attr>
<attr path="//object[@cname='GdaDataModel']/method[@name='ToXmlNode']" name="hidden">1</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='Changed']" name="name">DataChanged</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='BeginEdit']" name="name">BeginEditing</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='CancelEdit']" name="name">CancelEditing</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='EndEdit']" name="name">EndEditing</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='RowInserted']" name="name">RowInsertedEvent</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='RowUpdated']" name="name">RowUpdatedEvent</attr>
<attr path="//object[@cname='GdaDataModel']/signal[@name='RowRemoved']" name="name">RowRemovedEvent</attr>
<attr path="//object[@cname='GdaDataModelArray']/method[@name='SetNColumns']" name="new_flag">1</attr>
<attr path="//object[@cname='GdaDataModelHash']/method[@name='SetNColumns']" name="new_flag">1</attr>
<attr path="//object[@cname='GdaExport']" name="hidden">1</attr>
<attr path="//object[@cname='GdaXmlDatabase']/signal[@name='Changed']" name="name">DataChanged</attr>
<attr path="//struct[@cname='ArtVpathDash']" name="opaque">1</attr>
</metadata>

View File

@ -9,7 +9,8 @@ ASSEMBLY=gda-sharp.dll
all: $(ASSEMBLY) all: $(ASSEMBLY)
generated-stamp: $(APIS) ../generator/gapi_codegen.exe generated-stamp: $(APIS) ../generator/gapi_codegen.exe Gda.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=gda-api.xml --metadata=Gda.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe \ $(RUNTIME) ../generator/gapi_codegen.exe \
--generate $(APIS) --outdir=generated --customdir=. \ --generate $(APIS) --outdir=generated --customdir=. \
--assembly-name=gda-sharp && touch generated-stamp --assembly-name=gda-sharp && touch generated-stamp

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -396,46 +395,46 @@
</object> </object>
<object name="DataModel" cname="GdaDataModel" parent="GObject"> <object name="DataModel" cname="GdaDataModel" parent="GObject">
<field cname="priv" type="GdaDataModelPrivate*" /> <field cname="priv" type="GdaDataModelPrivate*" />
<signal name="DataChanged" cname="changed" when="LAST"> <signal cname="changed" when="LAST" name="DataChanged">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
</parameters> </parameters>
</signal> </signal>
<signal name="RowInsertedEvent" cname="row_inserted" when="LAST"> <signal cname="row_inserted" when="LAST" name="RowInsertedEvent">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
<parameter type="gint" name="row" /> <parameter type="gint" name="row" />
</parameters> </parameters>
</signal> </signal>
<signal name="RowUpdatedEvent" cname="row_updated" when="LAST"> <signal cname="row_updated" when="LAST" name="RowUpdatedEvent">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
<parameter type="gint" name="row" /> <parameter type="gint" name="row" />
</parameters> </parameters>
</signal> </signal>
<signal name="RowRemovedEvent" cname="row_removed" when="LAST"> <signal cname="row_removed" when="LAST" name="RowRemovedEvent">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
<parameter type="gint" name="row" /> <parameter type="gint" name="row" />
</parameters> </parameters>
</signal> </signal>
<signal name="BeginEditing" cname="begin_edit" when="LAST"> <signal cname="begin_edit" when="LAST" name="BeginEditing">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
</parameters> </parameters>
</signal> </signal>
<signal name="CancelEditing" cname="cancel_edit" when="LAST"> <signal cname="cancel_edit" when="LAST" name="CancelEditing">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
</parameters> </parameters>
</signal> </signal>
<signal name="EndEditing" cname="end_edit" when="LAST"> <signal cname="end_edit" when="LAST" name="EndEditing">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaDataModel*" name="model" /> <parameter type="GdaDataModel*" name="model" />
@ -1076,7 +1075,7 @@
</object> </object>
<object name="XmlDatabase" cname="GdaXmlDatabase" parent="GObject"> <object name="XmlDatabase" cname="GdaXmlDatabase" parent="GObject">
<field cname="priv" type="GdaXmlDatabasePrivate*" /> <field cname="priv" type="GdaXmlDatabasePrivate*" />
<signal name="DataChanged" cname="changed" when="LAST"> <signal cname="changed" when="LAST" name="DataChanged">
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdaXmlDatabase*" name="xmldb" /> <parameter type="GdaXmlDatabase*" name="xmldb" />

48
gdk/Gdk.metadata Normal file
View File

@ -0,0 +1,48 @@
<?xml version="1.0"?>
<metadata>
<attr path="//boxed[@cname='GdkColor']/method[@name='Copy']" name="hidden">1</attr>
<attr path="//boxed[@cname='GdkColor']/method[@name='Free']" name="hidden">1</attr>
<attr path="//boxed[@cname='GdkColor']/method[@name='Hash']" name="hidden">1</attr>
<attr path="//boxed[@cname='GdkColor']/method[@name='Parse']/return-type" name="type">gboolean</attr>
<attr path="//boxed[@cname='GdkColor']/method[@name='Parse']/*/*[@type='GdkColor*']" name="pass_as">ref</attr>
<attr path="//boxed[@cname='GdkCursor']" name="opaque">1</attr>
<attr path="//class[@cname='GdkEvent_']" name="name">EventHelper</attr>
<attr path="//class[@cname='GdkPango_']" name="name">PangoHelper</attr>
<attr path="//class[@cname='GdkPixbuf_']" name="hidden">1</attr>
<attr path="//class[@cname='GdkPointer_']/method[@name='Grab']/*/*[@name='confine_to']" name="null_ok">1</attr>
<attr path="//class[@cname='GdkPointer_']/method[@name='Grab']/*/*[@name='cursor']" name="null_ok">1</attr>
<attr path="//object[@cname='GdkBitmap']" name="parent">GdkDrawable</attr>
<attr path="//object[@cname='GdkColormap']/method[@name='AllocColor']" name="hidden">1</attr>
<attr path="//object[@cname='GdkDrawable']/method[@name='DrawLines']" name="hidden">1</attr>
<attr path="//object[@cname='GdkDrawable']/method[@name='DrawPolygon']" name="hidden">1</attr>
<attr path="//object[@cname='GdkDrawable']/method[@name='GetSize']/*/*[@type='gint*']" name="pass_as">out</attr>
<attr path="//object[@cname='GdkPixbuf']/constructor[@cname='gdk_pixbuf_new_from_file']" name="preferred">1</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='AddAlpha']" name="hidden">1</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='CompositeColorSimple']" name="hidden">1</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='GetFromDrawable']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='GetFromImage']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='GetPixels']" name="hidden">1</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='RenderThresholdAlpha']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='RenderToDrawable']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='RenderToDrawableAlpha']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMaskForColormap']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='RenderPixmapAndMask']" name="library">libgdk-win32-2.0-0.dll</attr>
<attr path="//object[@cname='GdkPixbuf']/method[@name='ScaleSimple']" name="hidden">1</attr>
<attr path="//object[@cname='GdkPixbufLoader']/method[@name='GetPixbuf']" name="needs_ref">1</attr>
<attr path="//object[@cname='GdkPixbufLoader']/method[@name='Write']/*/*[@name='buf']" name="array">1</attr>
<attr path="//object[@cname='GdkPixmap']" name="parent">GdkDrawable</attr>
<attr path="//object[@cname='GdkPixmap']/constructor[@cname='gdk_pixmap_new']/*/*[@type='GdkDrawable*']" name="null_ok">1</attr>
<attr path="//object[@cname='GdkScreen']/method[@name='Height']" name="hidden">1</attr>
<attr path="//object[@cname='GdkScreen']/method[@name='HeightMm']" name="hidden">1</attr>
<attr path="//object[@cname='GdkScreen']/method[@name='Width']" name="hidden">1</attr>
<attr path="//object[@cname='GdkScreen']/method[@name='WidthMm']" name="hidden">1</attr>
<attr path="//object[@cname='GdkWindow']" name="parent">GdkDrawable</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='GetInternalPaintInfo']/*/*[@type='gint*']" name="pass_as">out</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='GetInternalPaintInfo']/*/*[@type='GdkDrawable**']" name="pass_as">out</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='GetOrigin']/*/*[@type='gint*']" name="pass_as">out</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='GetPointer']/*/*[@type='gint*']" name="pass_as">out</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='GetPointer']/*/*[@type='GdkModifierType*']" name="pass_as">out</attr>
<attr path="//struct[@cname='GdkPixmapObject']" name="hidden">1</attr>
<attr path="//struct[@cname='GdkWindowObject']" name="hidden">1</attr>
</metadata>

View File

@ -9,7 +9,8 @@ ASSEMBLY=gdk-sharp.dll
all: $(ASSEMBLY) all: $(ASSEMBLY)
generated-stamp: $(APIS) *.custom ../generator/gapi_codegen.exe generated-stamp: $(APIS) *.custom ../generator/gapi_codegen.exe Gdk.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=gdk-api.xml --metadata=Gdk.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \ $(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \ --include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=gdk-sharp && touch generated-stamp --assembly-name=gdk-sharp && touch generated-stamp

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -924,7 +923,7 @@
<return-type type="void" /> <return-type type="void" />
<parameters> <parameters>
<parameter type="GdkGC*" name="gc" /> <parameter type="GdkGC*" name="gc" />
<parameter type="GdkPoint*" name="points" array="1"/> <parameter type="GdkPoint*" name="points" />
<parameter type="gint" name="npoints" /> <parameter type="gint" name="npoints" />
</parameters> </parameters>
</method> </method>
@ -965,7 +964,7 @@
<parameters> <parameters>
<parameter type="GdkGC*" name="gc" /> <parameter type="GdkGC*" name="gc" />
<parameter type="gboolean" name="filled" /> <parameter type="gboolean" name="filled" />
<parameter type="GdkPoint*" name="points" array="1"/> <parameter type="GdkPoint*" name="points" />
<parameter type="gint" name="npoints" /> <parameter type="gint" name="npoints" />
</parameters> </parameters>
</method> </method>
@ -2490,6 +2489,11 @@
</parameters> </parameters>
</constructor> </constructor>
</struct> </struct>
<struct name="PixmapObject" cname="GdkPixmapObject" hidden="1">
<field cname="parent_instance" type="GdkDrawable" />
<field cname="impl" type="GdkDrawable*" />
<field cname="depth" type="gint" />
</struct>
<struct name="Point" cname="GdkPoint"> <struct name="Point" cname="GdkPoint">
<field cname="x" type="gint" /> <field cname="x" type="gint" />
<field cname="y" type="gint" /> <field cname="y" type="gint" />
@ -2699,6 +2703,34 @@
<field cname="wmclass_class" type="gchar*" /> <field cname="wmclass_class" type="gchar*" />
<field cname="override_redirect" type="gboolean" /> <field cname="override_redirect" type="gboolean" />
</struct> </struct>
<struct name="WindowObject" cname="GdkWindowObject" hidden="1">
<field cname="parent_instance" type="GdkDrawable" />
<field cname="impl" type="GdkDrawable*" />
<field cname="parent" type="GdkWindowObject*" />
<field cname="user_data" type="gpointer" />
<field cname="x" type="gint" />
<field cname="y" type="gint" />
<field cname="extension_events" type="gint" />
<field cname="filters" type="GList*" />
<field cname="children" type="GList*" />
<field cname="bg_color" type="GdkColor" />
<field cname="bg_pixmap" type="GdkPixmap*" />
<field cname="paint_stack" type="GSList*" />
<field cname="update_area" type="GdkRegion*" />
<field cname="update_freeze_count" type="guint" />
<field cname="window_type" type="guint8" />
<field cname="depth" type="guint8" />
<field cname="resize_count" type="guint8" />
<field cname="state" type="GdkWindowState" />
<field cname="guffaw_gravity" bits="1" type="guint" />
<field cname="input_only" bits="1" type="guint" />
<field cname="modal_hint" bits="1" type="guint" />
<field cname="destroyed" bits="2" type="guint" />
<field cname="event_mask" type="GdkEventMask" />
<method name="GetType" cname="gdk_window_object_get_type" shared="true">
<return-type type="GType" />
</method>
</struct>
<alias name="XEvent" cname="GdkXEvent" type="void" /> <alias name="XEvent" cname="GdkXEvent" type="void" />
<struct name="Atom" cname="GdkAtom" opaque="true"> <struct name="Atom" cname="GdkAtom" opaque="true">
<method name="Intern" cname="gdk_atom_intern" shared="true"> <method name="Intern" cname="gdk_atom_intern" shared="true">
@ -2964,7 +2996,7 @@
<return-type type="void" /> <return-type type="void" />
</method> </method>
</class> </class>
<class name="EventHelper" cname="GdkEvent_"> <class cname="GdkEvent_" name="EventHelper">
<method name="Copy" cname="gdk_event_copy" shared="true"> <method name="Copy" cname="gdk_event_copy" shared="true">
<return-type type="GdkEvent*" /> <return-type type="GdkEvent*" />
<parameters> <parameters>
@ -3152,7 +3184,7 @@
</parameters> </parameters>
</method> </method>
</class> </class>
<class name="PangoHelper" cname="GdkPango_"> <class cname="GdkPango_" name="PangoHelper">
<method name="ContextGet" cname="gdk_pango_context_get" shared="true"> <method name="ContextGet" cname="gdk_pango_context_get" shared="true">
<return-type type="PangoContext*" /> <return-type type="PangoContext*" />
</method> </method>

6
gnomedb/GnomeDb.metadata Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<metadata>
<attr path="//class[@cname='GnomeDbStock_']" name="name">StockManager</attr>
<attr path="//object[@cname='GnomeDbControl']" name="hidden">1</attr>
<attr path="//object[@cname='GnomeDbWindow']" name="hidden">1</attr>
</metadata>

View File

@ -17,7 +17,8 @@ ASSEMBLY=gnomedb-sharp.dll
@ENABLE_GNOMEDB_TRUE@ all: $(ASSEMBLY) @ENABLE_GNOMEDB_TRUE@ all: $(ASSEMBLY)
@ENABLE_GNOMEDB_FALSE@ all: @ENABLE_GNOMEDB_FALSE@ all:
generated-stamp: $(APIS) ../generator/gapi_codegen.exe generated-stamp: $(APIS) ../generator/gapi_codegen.exe GnomeDb.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=gnomedb-api.xml --metadata=GnomeDb.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \ $(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \ --include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=gnomedb-sharp && touch generated-stamp --assembly-name=gnomedb-sharp && touch generated-stamp

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -1244,7 +1243,7 @@
</parameters> </parameters>
</method> </method>
</class> </class>
<class name="StockManager" cname="GnomeDbStock_"> <class cname="GnomeDbStock_" name="StockManager">
<method name="GetIconPath" cname="gnome_db_stock_get_icon_path" shared="true"> <method name="GetIconPath" cname="gnome_db_stock_get_icon_path" shared="true">
<return-type type="gchar*" /> <return-type type="gchar*" />
<parameters> <parameters>

View File

@ -6,7 +6,8 @@ ASSEMBLY=pango-sharp.dll
all: $(ASSEMBLY) all: $(ASSEMBLY)
generated-stamp: $(APIS) *.custom ../generator/gapi_codegen.exe generated-stamp: $(APIS) *.custom ../generator/gapi_codegen.exe Pango.metadata
$(RUNTIME) ../parser/gapi-fixup.exe --api=pango-api.xml --metadata=Pango.metadata && \
$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \ $(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) \
--outdir=generated --customdir=. --assembly-name=pango-sharp \ --outdir=generated --customdir=. --assembly-name=pango-sharp \
&& touch generated-stamp && touch generated-stamp

6
pango/Pango.metadata Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<metadata>
<attr path="//object[@cname='PangoLayout']/method[@name='GetLines']/return-type" name="element_type">Pango.LayoutLine</attr>
<attr path="//object[@cname='PangoLayout']/method[@name='GetPixelSize']/*/*[@type='int*']" name="pass_as">out</attr>
<attr path="//object[@cname='PangoLayout']/method[@name='GetSize']/*/*[@type='int*']" name="pass_as">out</attr>
</metadata>

View File

@ -1,6 +1,5 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<api> <api><!--
<!--
This file was automatically generated. This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead. Please DO NOT MODIFY THIS FILE, modify .metadata files instead.

View File

@ -2,6 +2,7 @@ CC = @CC@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@ BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@
MCS=mcs
SCRIPTS = \ SCRIPTS = \
gapi.pl \ gapi.pl \
@ -11,13 +12,17 @@ SCRIPTS = \
MODULES=GAPI/Metadata.pm MODULES=GAPI/Metadata.pm
all: $(SCRIPTS) $(MODULES) gapi_format_xml all: $(SCRIPTS) $(MODULES) gapi_format_xml gapi-fixup.exe
gapi_format_xml: formatXml.c gapi_format_xml: formatXml.c
$(CC) $(CPPFLAGS) -o gapi_format_xml formatXml.c `pkg-config --cflags --libs libxml-2.0 glib-2.0` $(CFLAGS) $(BASE_DEPENDENCIES_CFLAGS) $(CC) $(CPPFLAGS) -o gapi_format_xml formatXml.c `pkg-config --cflags --libs libxml-2.0 glib-2.0` $(CFLAGS) $(BASE_DEPENDENCIES_CFLAGS)
gapi-fixup.exe: gapi-fixup.cs
$(MCS) gapi-fixup.cs
clean: clean:
rm -f gapi_format_xml rm -f gapi_format_xml
rm -f gapi-fixup.exe
distclean: distclean:
rm -f Makefile gapi_format_xml rm -f Makefile gapi_format_xml
@ -27,7 +32,7 @@ prefix=@prefix@
DESTDIR= DESTDIR=
install: all install: all
for i in $(SCRIPTS) gapi_format_xml; do \ for i in $(SCRIPTS) gapi_format_xml gapi-fixup.exe; do \
../mkinstalldirs $(DESTDIR)$(prefix)/bin && \ ../mkinstalldirs $(DESTDIR)$(prefix)/bin && \
cp $$i $(DESTDIR)$(prefix)/bin; \ cp $$i $(DESTDIR)$(prefix)/bin; \
done done

83
parser/gapi-fixup.cs Normal file
View File

@ -0,0 +1,83 @@
// GtkSharp.Parsing.gapi-fixup.cs - xml alteration engine.
//
// Author: Mike Kestner <mkestner@speakeasy.net>
//
// (c) 2003 Mike Kestner
namespace GtkSharp.Parsing {
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
public class Fixup {
public static int Main (string[] args)
{
if (args.Length != 2) {
Console.WriteLine ("Usage: gapi-fixup --metadata=<filename> --api=<filename>");
return 0;
}
string api_filename = "";
XmlDocument api_doc = new XmlDocument ();
XmlDocument meta_doc = new XmlDocument ();
foreach (string arg in args) {
if (arg.StartsWith("--metadata=")) {
string meta_filename = arg.Substring (11);
try {
Stream stream = File.OpenRead (meta_filename);
meta_doc.Load (stream);
stream.Close ();
} catch (XmlException e) {
Console.WriteLine ("Invalid meta file.");
Console.WriteLine (e);
return 1;
}
} else if (arg.StartsWith ("--api=")) {
api_filename = arg.Substring (6);
try {
Stream stream = File.OpenRead (api_filename);
api_doc.Load (stream);
stream.Close ();
} catch (XmlException e) {
Console.WriteLine ("Invalid api file.");
Console.WriteLine (e);
return 1;
}
} else {
Console.WriteLine ("Usage: gapi-fixup --metadata=<filename> --api=<filename>");
return 1;
}
}
XPathNavigator meta_nav = meta_doc.CreateNavigator ();
XPathNavigator api_nav = api_doc.CreateNavigator ();
XPathNodeIterator attr_iter = meta_nav.Select ("//attr");
while (attr_iter.MoveNext ()) {
string path = attr_iter.Current.GetAttribute ("path", "");
string attr_name = attr_iter.Current.GetAttribute ("name", "");
XPathNodeIterator api_iter = api_nav.Select (path);
while (api_iter.MoveNext ()) {
XmlElement node = ((IHasXmlNode)api_iter.Current).GetNode () as XmlElement;
node.SetAttribute (attr_name, attr_iter.Current.Value);
}
}
Stream out_stream = File.OpenWrite (api_filename);
api_doc.Save (out_stream);
out_stream.Close ();
return 0;
}
}
}

View File

@ -13,7 +13,7 @@ die "Improperly formatted input file $ARGV[0].\n" if (!$root || $root->nodeName
for ($apinode = $root->firstChild; $apinode; $apinode = $apinode->nextSibling ()) { for ($apinode = $root->firstChild; $apinode; $apinode = $apinode->nextSibling ()) {
next if ($apinode->nodeName ne "api"); next if ($apinode->nodeName ne "api");
@attrs = $apinode->attributes; @attrs = $apinode->attributes;
my ($outfile); my $outfile = "";
foreach $attr (@attrs) { foreach $attr (@attrs) {
if ($attr->name eq "filename") { if ($attr->name eq "filename") {
$outfile = $attr->value; $outfile = $attr->value;

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- renames -->
<rule>
<class name="ArtAffine_">
<method>ToString</method>
</class>
<data>
<attribute target="method">
<name>name</name>
<value>ToStringArray</value>
</attribute>
</data>
</rule>
<rule>
<class name="ArtVpathDash" />
<data>
<attribute target="class">
<name>opaque</name>
<value>1</value>
</attribute>
</data>
</rule>
</metadata>

View File

@ -1,37 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- renames -->
<rule>
<class name="AtkDocument">
<method>GetDocument</method>
</class>
<data>
<attribute target="method">
<name>name</name>
<value>GetTheDocument</value>
</attribute>
</data>
</rule>
<rule>
<class name="AtkDocument">
<method>SetDocument</method>
</class>
<data>
<attribute target="method">
<name>name</name>
<value>SetTheDocument</value>
</attribute>
</data>
</rule>
<rule>
<class name="AtkState_"/>
<data>
<attribute target="class">
<name>name</name>
<value>StateManager</value>
</attribute>
</data>
</rule>
</metadata>

View File

@ -1,144 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- renames -->
<rule>
<class name="GdaDataModel">
<signal>Changed</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>DataChanged</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>BeginEdit</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>BeginEditing</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>CancelEdit</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>CancelEditing</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>EndEdit</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>EndEditing</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>RowInserted</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>RowInsertedEvent</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>RowUpdated</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>RowUpdatedEvent</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaDataModel">
<signal>RowRemoved</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>RowRemovedEvent</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaXmlDatabase">
<signal>Changed</signal>
</class>
<data>
<attribute target="signal">
<name>name</name>
<value>DataChanged</value>
</attribute>
</data>
</rule>
<!-- new_flags -->
<rule>
<class name="GdaDataModelArray">
<method>SetNColumns</method>
</class>
<class name="GdaDataModelHash">
<method>SetNColumns</method>
</class>
<data>
<attribute target="method">
<name>new_flag</name>
<value>1</value>
</attribute>
</data>
</rule>
<!-- hides -->
<rule>
<class name="GdaDataModel">
<method>ToXmlNode</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaExport">
</class>
<class name="GdaBatch">
</class>
<data>
<attribute target="class">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdaType_"/>
<data>
<attribute target="class">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
</metadata>

View File

@ -1,355 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- constructor collision hints -->
<rule>
<class name="GdkPixbuf">
<constructor>gdk_pixbuf_new_from_file</constructor>
</class>
<data>
<attribute target="method">
<name>preferred</name>
<value>1</value>
</attribute>
</data>
</rule>
<!-- array hints -->
<rule>
<class name="GdkPixbufLoader">
<method>Write</method>
</class>
<data>
<attribute target="param">
<filter level="name">buf</filter>
<name>array</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkDrawable">
<method>DrawPolygon</method>
</class>
<data>
<attribute target="param">
<filter level="type">GdkPoint*</filter>
<name>array</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkDrawable">
<method>DrawLines</method>
</class>
<data>
<attribute target="param">
<filter level="type">GdkPoint*</filter>
<name>array</name>
<value>1</value>
</attribute>
</data>
</rule>
<!-- null args -->
<rule>
<class name="GdkPixmap">
<constructor>gdk_pixmap_new</constructor>
</class>
<data>
<attribute target="param">
<filter level="type">GdkDrawable*</filter>
<name>null_ok</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPointer_">
<method>Grab</method>
</class>
<data>
<attribute target="param">
<filter level="name">cursor</filter>
<name>null_ok</name>
<value>1</value>
</attribute>
<attribute target="param">
<filter level="name">confine_to</filter>
<name>null_ok</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkCursor"/>
<data>
<attribute target="class">
<name>opaque</name>
<value>1</value>
</attribute>
</data>
</rule>
<!-- API hacks -->
<rule>
<class name="GdkBitmap"/>
<class name="GdkPixmap"/>
<class name="GdkWindow"/>
<data>
<attribute target="class">
<name>parent</name>
<value>GdkDrawable</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixmapObject"/>
<class name="GdkWindowObject"/>
<data>
<attribute target="class">
<delete/>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixbuf">
<method>RenderThresholdAlpha</method>
<method>RenderToDrawable</method>
<method>RenderToDrawableAlpha</method>
<method>RenderPixmapAndMaskForColormap</method>
<method>RenderPixmapAndMask</method>
<method>GetFromDrawable</method>
<method>GetFromImage</method>
</class>
<data>
<attribute target="method">
<name>library</name>
<value>libgdk-win32-2.0-0.dll</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkColor">
<method>Parse</method>
</class>
<data>
<attribute target="return">
<name>type</name>
<value>gboolean</value>
</attribute>
</data>
</rule>
<!-- ref parameters -->
<rule>
<class name="GdkColor">
<method>Parse</method>
</class>
<data>
<attribute target="param">
<filter level="type">GdkColor*</filter>
<name>pass_as</name>
<value>ref</value>
</attribute>
</data>
</rule>
<!-- out parameters -->
<rule>
<class name="GdkWindow">
<method>GetPointer</method>
</class>
<data>
<attribute target="param">
<filter level="type">gint*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkWindow">
<method>GetPointer</method>
</class>
<data>
<attribute target="param">
<filter level="type">GdkModifierType*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkWindow">
<method>GetInternalPaintInfo</method>
</class>
<data>
<attribute target="param">
<filter level="type">GdkDrawable**</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkWindow">
<method>GetInternalPaintInfo</method>
</class>
<data>
<attribute target="param">
<filter level="type">gint*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkWindow">
<method>GetOrigin</method>
</class>
<data>
<attribute target="param">
<filter level="type">gint*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkDrawable">
<method>GetSize</method>
</class>
<data>
<attribute target="param">
<filter level="type">gint*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<!-- hides -->
<rule>
<class name="GdkDrawable">
<method>DrawPolygon</method>
<method>DrawLines</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkColor">
<method>Hash</method>
<method>Copy</method>
<method>Free</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixbuf">
<method>AddAlpha</method>
<method>ScaleSimple</method>
<method>CompositeColorSimple</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkColormap">
<method>AllocColor</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkScreen">
<method>Height</method>
<method>HeightMm</method>
<method>Width</method>
<method>WidthMm</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixbufLoader">
<method>GetPixbuf</method>
</class>
<data>
<attribute target="method">
<name>needs_ref</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixbuf">
<method>GetPixels</method>
</class>
<data>
<attribute target="method">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPixbuf_"/>
<data>
<attribute target="class">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<!-- renames -->
<rule>
<class name="GdkEvent_"/>
<data>
<attribute target="class">
<name>name</name>
<value>EventHelper</value>
</attribute>
</data>
</rule>
<rule>
<class name="GdkPango_"/>
<data>
<attribute target="class">
<name>name</name>
<value>PangoHelper</value>
</attribute>
</data>
</rule>
</metadata>

View File

@ -1,35 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- renames -->
<rule>
<class name="GnomeDbWindow">
</class>
<data>
<attribute target="class">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GnomeDbControl">
</class>
<data>
<attribute target="class">
<name>hidden</name>
<value>1</value>
</attribute>
</data>
</rule>
<rule>
<class name="GnomeDbStock_"/>
<data>
<attribute target="class">
<name>name</name>
<value>StockManager</value>
</attribute>
</data>
</rule>
</metadata>

View File

@ -1,41 +0,0 @@
<?xml version="1.0"?>
<metadata>
<!-- list types -->
<rule>
<class name="PangoLayout">
<method>GetLines</method>
</class>
<data>
<attribute target="return">
<name>element_type</name>
<value>Pango.LayoutLine</value>
</attribute>
</data>
</rule>
<rule>
<class name="PangoLayout">
<method>GetSize</method>
</class>
<data>
<attribute target="param">
<filter level="type">int*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
<rule>
<class name="PangoLayout">
<method>GetPixelSize</method>
</class>
<data>
<attribute target="param">
<filter level="type">int*</filter>
<name>pass_as</name>
<value>out</value>
</attribute>
</data>
</rule>
</metadata>