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>
* 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)
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) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=art-sharp && touch generated-stamp

View file

@ -1,6 +1,5 @@
<?xml version="1.0"?>
<api>
<!--
<api><!--
This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -829,7 +828,7 @@
<parameter type="double" name="theta" />
</parameters>
</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" />
<parameters>
<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)
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) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=art-sharp && touch generated-stamp

View file

@ -1,6 +1,5 @@
<?xml version="1.0"?>
<api>
<!--
<api><!--
This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -368,7 +367,7 @@
</method>
</interface>
<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" />
</method>
<method name="GetDocumentType" cname="atk_document_get_document_type">
@ -1524,7 +1523,7 @@
</parameters>
</method>
</class>
<class name="StateManager" cname="AtkState_">
<class cname="AtkState_" name="StateManager">
<method name="TypeForName" cname="atk_state_type_for_name" shared="true">
<return-type type="AtkStateType" />
<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)
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 \
--generate $(APIS) --outdir=generated --customdir=. \
--assembly-name=gda-sharp && touch generated-stamp

View file

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

View file

@ -1,6 +1,5 @@
<?xml version="1.0"?>
<api>
<!--
<api><!--
This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
@ -924,7 +923,7 @@
<return-type type="void" />
<parameters>
<parameter type="GdkGC*" name="gc" />
<parameter type="GdkPoint*" name="points" array="1"/>
<parameter type="GdkPoint*" name="points" />
<parameter type="gint" name="npoints" />
</parameters>
</method>
@ -965,7 +964,7 @@
<parameters>
<parameter type="GdkGC*" name="gc" />
<parameter type="gboolean" name="filled" />
<parameter type="GdkPoint*" name="points" array="1"/>
<parameter type="GdkPoint*" name="points" />
<parameter type="gint" name="npoints" />
</parameters>
</method>
@ -2490,6 +2489,11 @@
</parameters>
</constructor>
</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">
<field cname="x" type="gint" />
<field cname="y" type="gint" />
@ -2699,6 +2703,34 @@
<field cname="wmclass_class" type="gchar*" />
<field cname="override_redirect" type="gboolean" />
</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" />
<struct name="Atom" cname="GdkAtom" opaque="true">
<method name="Intern" cname="gdk_atom_intern" shared="true">
@ -2964,7 +2996,7 @@
<return-type type="void" />
</method>
</class>
<class name="EventHelper" cname="GdkEvent_">
<class cname="GdkEvent_" name="EventHelper">
<method name="Copy" cname="gdk_event_copy" shared="true">
<return-type type="GdkEvent*" />
<parameters>
@ -3152,7 +3184,7 @@
</parameters>
</method>
</class>
<class name="PangoHelper" cname="GdkPango_">
<class cname="GdkPango_" name="PangoHelper">
<method name="ContextGet" cname="gdk_pango_context_get" shared="true">
<return-type type="PangoContext*" />
</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_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) \
--include $(INCLUDE_APIS) --outdir=generated --customdir=. \
--assembly-name=gnomedb-sharp && touch generated-stamp

View file

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

View file

@ -6,7 +6,8 @@ ASSEMBLY=pango-sharp.dll
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) \
--outdir=generated --customdir=. --assembly-name=pango-sharp \
&& 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"?>
<api>
<!--
<api><!--
This file was automatically generated.
Please DO NOT MODIFY THIS FILE, modify .metadata files instead.

View file

@ -2,6 +2,7 @@ CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
BASE_DEPENDENCIES_CFLAGS = @BASE_DEPENDENCIES_CFLAGS@
MCS=mcs
SCRIPTS = \
gapi.pl \
@ -11,13 +12,17 @@ SCRIPTS = \
MODULES=GAPI/Metadata.pm
all: $(SCRIPTS) $(MODULES) gapi_format_xml
all: $(SCRIPTS) $(MODULES) gapi_format_xml gapi-fixup.exe
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)
gapi-fixup.exe: gapi-fixup.cs
$(MCS) gapi-fixup.cs
clean:
rm -f gapi_format_xml
rm -f gapi-fixup.exe
distclean:
rm -f Makefile gapi_format_xml
@ -27,7 +32,7 @@ prefix=@prefix@
DESTDIR=
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 && \
cp $$i $(DESTDIR)$(prefix)/bin; \
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 ()) {
next if ($apinode->nodeName ne "api");
@attrs = $apinode->attributes;
my ($outfile);
my $outfile = "";
foreach $attr (@attrs) {
if ($attr->name eq "filename") {
$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>