2005-05-21 Mike Kestner <mkestner@novell.com>

* audit : add a compatibility auditing framework.
	* audit/base/*.apiinfo : initial checkin of 1.0.10 API for diffs.
	* audit/extract-missing.cs : XPath tool to grab presence='missing'.
	* audit/get-apidiff.pl : diffs api-infos to the base.
	* audit/get-apiinfo.pl : drives a module-wide api-info extraction.
	* audit/get-missing.pl : drives the extract-missing.exe tool.
	* audit/makefile : all and check targets. no dist support.
	* audit/mono-api-info.cs: copied from mcs/tools/corcompare.
	* audit/mono-api-diff.cs: copied from mcs/tools/corcompare.

svn path=/trunk/gtk-sharp/; revision=44872
This commit is contained in:
Mike Kestner 2005-05-21 16:41:11 +00:00
parent bf2e4b39fc
commit eee80b2e26
21 changed files with 87381 additions and 0 deletions

View file

@ -1,3 +1,15 @@
2005-05-21 Mike Kestner <mkestner@novell.com>
* audit : add a compatibility auditing framework.
* audit/base/*.apiinfo : initial checkin of 1.0.10 API for diffs.
* audit/extract-missing.cs : XPath tool to grab presence='missing'.
* audit/get-apidiff.pl : diffs api-infos to the base.
* audit/get-apiinfo.pl : drives a module-wide api-info extraction.
* audit/get-missing.pl : drives the extract-missing.exe tool.
* audit/makefile : all and check targets. no dist support.
* audit/mono-api-info.cs: copied from mcs/tools/corcompare.
* audit/mono-api-diff.cs: copied from mcs/tools/corcompare.
2005-05-17 Jordi Mas i Hernandez <jordi@ximian.com>
* gnome/About.custom: fixes exception when passing null argument

1288
audit/base/art-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

3930
audit/base/atk-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

5119
audit/base/gda-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

8718
audit/base/gdk-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,922 @@
<?xml version="1.0"?>
<assemblies>
<assembly name="glade-sharp" version="1.0.0.0">
<attributes>
<attribute name="System.Reflection.AssemblyKeyFileAttribute">
<properties>
<property name="KeyFile" value="gtk-sharp.snk" />
</properties>
</attribute>
<attribute name="System.Reflection.AssemblyDelaySignAttribute">
<properties>
<property name="DelaySign" value="False" />
</properties>
</attribute>
</attributes>
<namespaces>
<namespace name="Glade">
<classes>
<class name="AccelInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Key" attrib="6" fieldtype="System.UInt32" />
<field name="Modifiers" attrib="6" fieldtype="Gdk.ModifierType" />
<field name="Signal" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.AccelInfo" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.AccelInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="ApplyCustomPropFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(Glade.XML, Gtk.Widget, System.String, System.String, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="widget" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="propname" position="2" attrib="0" type="System.String" />
<parameter name="value" position="3" attrib="0" type="System.String" />
<parameter name="callback" position="4" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="5" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="System.Void">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(Glade.XML, Gtk.Widget, System.String, System.String)" attrib="198" returntype="System.Void">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="widget" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="propname" position="2" attrib="0" type="System.String" />
<parameter name="value" position="3" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</class>
<class name="AtkActionInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="ActionName" attrib="6" fieldtype="System.String" />
<field name="Description" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.AtkActionInfo" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.AtkActionInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="AtkRelationInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Target" attrib="6" fieldtype="System.String" />
<field name="Type" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.AtkRelationInfo" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.AtkRelationInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="BuildChildrenFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(Glade.XML, Gtk.Widget, Glade.WidgetInfo, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="parent" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
<parameter name="callback" position="3" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="4" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="System.Void">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(Glade.XML, Gtk.Widget, Glade.WidgetInfo)" attrib="198" returntype="System.Void">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="parent" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
</methods>
</class>
<class name="ChildInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="InternalChild" attrib="6" fieldtype="System.String" />
<field name="NProperties" attrib="6" fieldtype="System.UInt32" />
<field name="Zero" attrib="22" fieldtype="Glade.ChildInfo" />
</fields>
<properties>
<property name="child" attrib="1536" ptype="Glade.WidgetInfo" params="">
<methods>
<method name="get_child()" returntype="Glade.WidgetInfo">
<parameters />
</method>
</methods>
</property>
<property name="properties" attrib="1536" ptype="Glade.Property" params="">
<methods>
<method name="get_properties()" returntype="Glade.Property">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.ChildInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="FindInternalChildFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(Glade.XML, Gtk.Widget, System.String, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="parent" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="childname" position="2" attrib="0" type="System.String" />
<parameter name="callback" position="3" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="4" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="Gtk.Widget">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(Glade.XML, Gtk.Widget, System.String)" attrib="198" returntype="Gtk.Widget">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="parent" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="childname" position="2" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</class>
<class name="Global" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="EnumFromString(GLib.GType, System.String)" attrib="150" returntype="System.Int32">
<parameters>
<parameter name="type" position="0" attrib="0" type="GLib.GType" />
<parameter name="str1ng" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="FlagsFromString(GLib.GType, System.String)" attrib="150" returntype="System.UInt32">
<parameters>
<parameter name="type" position="0" attrib="0" type="GLib.GType" />
<parameter name="str1ng" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="GetWidgetName(Gtk.Widget)" attrib="150" returntype="System.String">
<parameters>
<parameter name="widget" position="0" attrib="0" type="Gtk.Widget" />
</parameters>
</method>
<method name="GetWidgetTree(Gtk.Widget)" attrib="150" returntype="Glade.XML">
<parameters>
<parameter name="widget" position="0" attrib="0" type="Gtk.Widget" />
</parameters>
</method>
<method name="ModuleCheckVersion(System.Int32)" attrib="150" returntype="System.String">
<parameters>
<parameter name="version" position="0" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="RegisterCustomProp(GLib.GType, System.String, Glade.ApplyCustomPropFunc)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="type" position="0" attrib="0" type="GLib.GType" />
<parameter name="prop_name" position="1" attrib="0" type="System.String" />
<parameter name="apply_prop" position="2" attrib="0" type="Glade.ApplyCustomPropFunc" />
</parameters>
</method>
<method name="RegisterWidget(GLib.GType, Glade.NewFunc, Glade.BuildChildrenFunc, Glade.FindInternalChildFunc)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="type" position="0" attrib="0" type="GLib.GType" />
<parameter name="_new" position="1" attrib="0" type="Glade.NewFunc" />
<parameter name="build_children" position="2" attrib="0" type="Glade.BuildChildrenFunc" />
<parameter name="find_internal_child" position="3" attrib="0" type="Glade.FindInternalChildFunc" />
</parameters>
</method>
<method name="SetCustomHandler(Glade.XMLCustomWidgetHandler)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="handler" position="0" attrib="0" type="Glade.XMLCustomWidgetHandler" />
</parameters>
</method>
</methods>
</class>
<class name="HandlerNotFoundException" type="class" base="System.SystemException" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)" attrib="6276">
<parameters>
<parameter name="info" position="0" attrib="0" type="System.Runtime.Serialization.SerializationInfo" />
<parameter name="context" position="1" attrib="0" type="System.Runtime.Serialization.StreamingContext" />
</parameters>
</constructor>
<constructor name=".ctor(System.String, System.String, System.Reflection.EventInfo, System.Type, System.Exception)" attrib="6278">
<parameters>
<parameter name="handler_name" position="0" attrib="0" type="System.String" />
<parameter name="signal_name" position="1" attrib="0" type="System.String" />
<parameter name="evnt" position="2" attrib="0" type="System.Reflection.EventInfo" />
<parameter name="delegate_type" position="3" attrib="0" type="System.Type" />
<parameter name="inner" position="4" attrib="0" type="System.Exception" />
</parameters>
</constructor>
<constructor name=".ctor(System.String, System.String, System.Reflection.EventInfo, System.Type)" attrib="6278">
<parameters>
<parameter name="handler_name" position="0" attrib="0" type="System.String" />
<parameter name="signal_name" position="1" attrib="0" type="System.String" />
<parameter name="evnt" position="2" attrib="0" type="System.Reflection.EventInfo" />
<parameter name="delegate_type" position="3" attrib="0" type="System.Type" />
</parameters>
</constructor>
</constructors>
<properties>
<property name="DelegateType" attrib="1536" ptype="System.Type" params="">
<methods>
<method name="get_DelegateType()" returntype="System.Type">
<parameters />
</method>
</methods>
</property>
<property name="Event" attrib="1536" ptype="System.Reflection.EventInfo" params="">
<methods>
<method name="get_Event()" returntype="System.Reflection.EventInfo">
<parameters />
</method>
</methods>
</property>
<property name="HandlerName" attrib="1536" ptype="System.String" params="">
<methods>
<method name="get_HandlerName()" returntype="System.String">
<parameters />
</method>
</methods>
</property>
<property name="SignalName" attrib="1536" ptype="System.String" params="">
<methods>
<method name="get_SignalName()" returntype="System.String">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)" attrib="198" returntype="System.Void">
<parameters>
<parameter name="info" position="0" attrib="0" type="System.Runtime.Serialization.SerializationInfo" />
<parameter name="context" position="1" attrib="0" type="System.Runtime.Serialization.StreamingContext" />
</parameters>
</method>
</methods>
</class>
<class name="Interface" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="NRequires" attrib="6" fieldtype="System.UInt32" />
<field name="NToplevels" attrib="6" fieldtype="System.UInt32" />
<field name="Requires" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.Interface" />
</fields>
<properties>
<property name="toplevels" attrib="1536" ptype="Glade.WidgetInfo" params="">
<methods>
<method name="get_toplevels()" returntype="Glade.WidgetInfo">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="Destroy()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Dump(System.String)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="filename" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.Interface">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="NewFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(Glade.XML, GLib.GType, Glade.WidgetInfo, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="widget_type" position="1" attrib="0" type="GLib.GType" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
<parameter name="callback" position="3" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="4" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="Gtk.Widget">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(Glade.XML, GLib.GType, Glade.WidgetInfo)" attrib="198" returntype="Gtk.Widget">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="widget_type" position="1" attrib="0" type="GLib.GType" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
</methods>
</class>
<class name="Parser" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="ParseBuffer(System.String, System.String)" attrib="150" returntype="Glade.Interface">
<parameters>
<parameter name="buffer" position="0" attrib="0" type="System.String" />
<parameter name="domain" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseFile(System.String, System.String)" attrib="150" returntype="Glade.Interface">
<parameters>
<parameter name="file" position="0" attrib="0" type="System.String" />
<parameter name="domain" position="1" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</class>
<class name="Property" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Name" attrib="6" fieldtype="System.String" />
<field name="Value" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.Property" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.Property">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="SignalInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Handler" attrib="6" fieldtype="System.String" />
<field name="Name" attrib="6" fieldtype="System.String" />
<field name="Object" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.SignalInfo" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.SignalInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="Standard" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="BuildChildren(Glade.XML, Gtk.Widget, Glade.WidgetInfo)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="self" position="0" attrib="0" type="Glade.XML" />
<parameter name="parent" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
<method name="BuildWidget(Glade.XML, GLib.GType, Glade.WidgetInfo)" attrib="150" returntype="Gtk.Widget">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="widget_type" position="1" attrib="0" type="GLib.GType" />
<parameter name="info" position="2" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
</methods>
</class>
<class name="WidgetAttribute" type="class" base="System.Attribute" charset="Ansi" layout="Auto">
<attributes>
<attribute name="System.AttributeUsageAttribute">
<properties>
<property name="AllowMultiple" value="False" />
<property name="Inherited" value="True" />
<property name="ValidOn" value="Field" />
</properties>
</attribute>
</attributes>
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
<constructor name=".ctor(System.String)" attrib="6278">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
</parameters>
</constructor>
</constructors>
<properties>
<property name="Name" attrib="1536" ptype="System.String" params="">
<methods>
<method name="get_Name()" returntype="System.String">
<parameters />
</method>
</methods>
</property>
<property name="Specified" attrib="1536" ptype="System.Boolean" params="">
<methods>
<method name="get_Specified()" returntype="System.Boolean">
<parameters />
</method>
</methods>
</property>
</properties>
</class>
<class name="WidgetInfo" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Classname" attrib="6" fieldtype="System.String" />
<field name="NAccels" attrib="6" fieldtype="System.UInt32" />
<field name="NAtkActions" attrib="6" fieldtype="System.UInt32" />
<field name="NAtkProps" attrib="6" fieldtype="System.UInt32" />
<field name="NChildren" attrib="6" fieldtype="System.UInt32" />
<field name="NProperties" attrib="6" fieldtype="System.UInt32" />
<field name="NRelations" attrib="6" fieldtype="System.UInt32" />
<field name="NSignals" attrib="6" fieldtype="System.UInt32" />
<field name="Name" attrib="6" fieldtype="System.String" />
<field name="Zero" attrib="22" fieldtype="Glade.WidgetInfo" />
</fields>
<properties>
<property name="accels" attrib="1536" ptype="Glade.AccelInfo" params="">
<methods>
<method name="get_accels()" returntype="Glade.AccelInfo">
<parameters />
</method>
</methods>
</property>
<property name="atk_actions" attrib="1536" ptype="Glade.AtkActionInfo" params="">
<methods>
<method name="get_atk_actions()" returntype="Glade.AtkActionInfo">
<parameters />
</method>
</methods>
</property>
<property name="atk_props" attrib="1536" ptype="Glade.Property" params="">
<methods>
<method name="get_atk_props()" returntype="Glade.Property">
<parameters />
</method>
</methods>
</property>
<property name="children" attrib="1536" ptype="Glade.ChildInfo" params="">
<methods>
<method name="get_children()" returntype="Glade.ChildInfo">
<parameters />
</method>
</methods>
</property>
<property name="parent" attrib="1536" ptype="Glade.WidgetInfo" params="">
<methods>
<method name="get_parent()" returntype="Glade.WidgetInfo">
<parameters />
</method>
</methods>
</property>
<property name="properties" attrib="1536" ptype="Glade.Property" params="">
<methods>
<method name="get_properties()" returntype="Glade.Property">
<parameters />
</method>
</methods>
</property>
<property name="relations" attrib="1536" ptype="Glade.AtkRelationInfo" params="">
<methods>
<method name="get_relations()" returntype="Glade.AtkRelationInfo">
<parameters />
</method>
</methods>
</property>
<property name="signals" attrib="1536" ptype="Glade.SignalInfo" params="">
<methods>
<method name="get_signals()" returntype="Glade.SignalInfo">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Glade.WidgetInfo">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="XML" type="class" base="GLib.Object" charset="Ansi" layout="Auto">
<attributes>
<attribute name="System.Reflection.DefaultMemberAttribute">
<properties>
<property name="MemberName" value="Item" />
</properties>
</attribute>
</attributes>
<interfaces>
<interface name="GLib.IWrapper" />
<interface name="System.IDisposable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.IO.Stream, System.String, System.String)" attrib="6278">
<parameters>
<parameter name="s" position="0" attrib="0" type="System.IO.Stream" />
<parameter name="root" position="1" attrib="0" type="System.String" />
<parameter name="domain" position="2" attrib="0" type="System.String" />
</parameters>
</constructor>
<constructor name=".ctor(System.String, System.String)" attrib="6278">
<parameters>
<parameter name="resource_name" position="0" attrib="0" type="System.String" />
<parameter name="root" position="1" attrib="0" type="System.String" />
</parameters>
</constructor>
<constructor name=".ctor(System.Reflection.Assembly, System.String, System.String, System.String)" attrib="6278">
<parameters>
<parameter name="assembly" position="0" attrib="0" type="System.Reflection.Assembly" />
<parameter name="resource_name" position="1" attrib="0" type="System.String" />
<parameter name="root" position="2" attrib="0" type="System.String" />
<parameter name="domain" position="3" attrib="0" type="System.String" />
</parameters>
</constructor>
<constructor name=".ctor(System.String, System.Int32, System.String, System.String)" attrib="6278">
<parameters>
<parameter name="buffer" position="0" attrib="0" type="System.String" />
<parameter name="size" position="1" attrib="0" type="System.Int32" />
<parameter name="root" position="2" attrib="0" type="System.String" />
<parameter name="domain" position="3" attrib="0" type="System.String" />
</parameters>
</constructor>
<constructor name=".ctor(GLib.GType)" attrib="6276">
<attributes>
<attribute name="System.ObsoleteAttribute">
<properties>
<property name="Message" null="true" />
<property name="IsError" value="False" />
</properties>
</attribute>
</attributes>
<parameters>
<parameter name="gtype" position="0" attrib="0" type="GLib.GType" />
</parameters>
</constructor>
<constructor name=".ctor(System.IntPtr)" attrib="6278">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
<constructor name=".ctor(System.String, System.String, System.String)" attrib="6278">
<parameters>
<parameter name="fname" position="0" attrib="0" type="System.String" />
<parameter name="root" position="1" attrib="0" type="System.String" />
<parameter name="domain" position="2" attrib="0" type="System.String" />
</parameters>
</constructor>
</constructors>
<properties>
<property name="Filename" attrib="1536" ptype="System.String" params="">
<methods>
<method name="get_Filename()" returntype="System.String">
<parameters />
</method>
</methods>
</property>
<property name="GType" attrib="1536" ptype="GLib.GType" params="">
<methods>
<method name="get_GType()" returntype="GLib.GType">
<parameters />
</method>
</methods>
</property>
<property name="Item" attrib="1536" ptype="Gtk.Widget" params="System.String">
<methods>
<method name="get_Item(System.String)" returntype="Gtk.Widget">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</property>
<property name="Toplevel" attrib="1536" ptype="Gtk.Window" params="Gtk.Window">
<methods>
<method name="set_Toplevel(Gtk.Window)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="Gtk.Window" />
</parameters>
</method>
</methods>
</property>
</properties>
<methods>
<method name="Autoconnect(System.Type)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="handler_class" position="0" attrib="0" type="System.Type" />
</parameters>
</method>
<method name="Autoconnect(System.Object)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="handler" position="0" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="BindFields(System.Type)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="type" position="0" attrib="0" type="System.Type" />
</parameters>
</method>
<method name="BindFields(System.Object)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="target" position="0" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="BuildWidget(Glade.WidgetInfo)" attrib="134" returntype="Gtk.Widget">
<parameters>
<parameter name="info" position="0" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
<method name="Construct(System.String, System.String, System.String)" attrib="134" returntype="System.Boolean">
<parameters>
<parameter name="fname" position="0" attrib="0" type="System.String" />
<parameter name="root" position="1" attrib="0" type="System.String" />
<parameter name="domain" position="2" attrib="0" type="System.String" />
</parameters>
</method>
<method name="EnsureAccel()" attrib="134" returntype="Gtk.AccelGroup">
<parameters />
</method>
<method name="Finalize()" attrib="196" returntype="System.Void">
<parameters />
</method>
<method name="FromAssembly(System.Reflection.Assembly, System.String, System.String, System.String)" attrib="150" returntype="Glade.XML">
<parameters>
<parameter name="assembly" position="0" attrib="0" type="System.Reflection.Assembly" />
<parameter name="resource_name" position="1" attrib="0" type="System.String" />
<parameter name="root" position="2" attrib="0" type="System.String" />
<parameter name="domain" position="3" attrib="0" type="System.String" />
</parameters>
</method>
<method name="FromAssembly(System.String, System.String, System.String)" attrib="150" returntype="Glade.XML">
<parameters>
<parameter name="resource_name" position="0" attrib="0" type="System.String" />
<parameter name="root" position="1" attrib="0" type="System.String" />
<parameter name="domain" position="2" attrib="0" type="System.String" />
</parameters>
</method>
<method name="FromStream(System.IO.Stream, System.String, System.String)" attrib="150" returntype="Glade.XML">
<parameters>
<parameter name="stream" position="0" attrib="0" type="System.IO.Stream" />
<parameter name="root" position="1" attrib="0" type="System.String" />
<parameter name="domain" position="2" attrib="0" type="System.String" />
</parameters>
</method>
<method name="GetWidget(System.String)" attrib="134" returntype="Gtk.Widget">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="GetWidgetName(Gtk.Widget)" attrib="150" returntype="System.String">
<parameters>
<parameter name="w" position="0" attrib="0" type="Gtk.Widget" />
</parameters>
</method>
<method name="GetWidgetPrefix(System.String)" attrib="134" returntype="Gtk.Widget[]">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="GetWidgetTree(Gtk.Widget)" attrib="150" returntype="Glade.XML">
<parameters>
<parameter name="w" position="0" attrib="0" type="Gtk.Widget" />
</parameters>
</method>
<method name="HandleInternalChild(Gtk.Widget, Glade.ChildInfo)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="parent" position="0" attrib="0" type="Gtk.Widget" />
<parameter name="child_info" position="1" attrib="0" type="Glade.ChildInfo" />
</parameters>
</method>
<method name="HandleWidgetProp(Gtk.Widget, System.String, System.String)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="widget" position="0" attrib="0" type="Gtk.Widget" />
<parameter name="prop_name" position="1" attrib="0" type="System.String" />
<parameter name="value_name" position="2" attrib="0" type="System.String" />
</parameters>
</method>
<method name="RelativeFile(System.String)" attrib="134" returntype="System.String">
<parameters>
<parameter name="filename" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="SetCommonParams(Gtk.Widget, Glade.WidgetInfo)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="widget" position="0" attrib="0" type="Gtk.Widget" />
<parameter name="info" position="1" attrib="0" type="Glade.WidgetInfo" />
</parameters>
</method>
<method name="SetCustomHandler(Glade.XMLCustomWidgetHandler)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="handler" position="0" attrib="0" type="Glade.XMLCustomWidgetHandler" />
</parameters>
</method>
<method name="SetPackingProperty(Gtk.Widget, Gtk.Widget, System.String, System.String)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="parent" position="0" attrib="0" type="Gtk.Widget" />
<parameter name="child" position="1" attrib="0" type="Gtk.Widget" />
<parameter name="name" position="2" attrib="0" type="System.String" />
<parameter name="value" position="3" attrib="0" type="System.String" />
</parameters>
</method>
<method name="SetValueFromString(System.IntPtr, System.String, GLib.Value)" attrib="134" returntype="System.Boolean">
<parameters>
<parameter name="pspec" position="0" attrib="0" type="System.IntPtr" />
<parameter name="str1ng" position="1" attrib="0" type="System.String" />
<parameter name="value" position="2" attrib="0" type="GLib.Value" />
</parameters>
</method>
<method name="SignalAutoconnect()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="SignalAutoconnectFull(Glade.XMLConnectFunc)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="func" position="0" attrib="0" type="Glade.XMLConnectFunc" />
</parameters>
</method>
<method name="SignalConnectFull(System.String, Glade.XMLConnectFunc)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="handler_name" position="0" attrib="0" type="System.String" />
<parameter name="func" position="1" attrib="0" type="Glade.XMLConnectFunc" />
</parameters>
</method>
</methods>
</class>
<class name="XMLConnectFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(System.String, GLib.Object, System.String, System.String, GLib.Object, System.Boolean, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="handler_name" position="0" attrib="0" type="System.String" />
<parameter name="objekt" position="1" attrib="0" type="GLib.Object" />
<parameter name="signal_name" position="2" attrib="0" type="System.String" />
<parameter name="signal_data" position="3" attrib="0" type="System.String" />
<parameter name="connect_object" position="4" attrib="0" type="GLib.Object" />
<parameter name="after" position="5" attrib="0" type="System.Boolean" />
<parameter name="callback" position="6" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="7" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="System.Void">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(System.String, GLib.Object, System.String, System.String, GLib.Object, System.Boolean)" attrib="198" returntype="System.Void">
<parameters>
<parameter name="handler_name" position="0" attrib="0" type="System.String" />
<parameter name="objekt" position="1" attrib="0" type="GLib.Object" />
<parameter name="signal_name" position="2" attrib="0" type="System.String" />
<parameter name="signal_data" position="3" attrib="0" type="System.String" />
<parameter name="connect_object" position="4" attrib="0" type="GLib.Object" />
<parameter name="after" position="5" attrib="0" type="System.Boolean" />
</parameters>
</method>
</methods>
</class>
<class name="XMLCustomWidgetHandler" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(Glade.XML, System.String, System.String, System.String, System.String, System.Int32, System.Int32, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="func_name" position="1" attrib="0" type="System.String" />
<parameter name="name" position="2" attrib="0" type="System.String" />
<parameter name="string1" position="3" attrib="0" type="System.String" />
<parameter name="string2" position="4" attrib="0" type="System.String" />
<parameter name="int1" position="5" attrib="0" type="System.Int32" />
<parameter name="int2" position="6" attrib="0" type="System.Int32" />
<parameter name="callback" position="7" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="8" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(System.IAsyncResult)" attrib="454" returntype="Gtk.Widget">
<parameters>
<parameter name="result" position="0" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(Glade.XML, System.String, System.String, System.String, System.String, System.Int32, System.Int32)" attrib="198" returntype="Gtk.Widget">
<parameters>
<parameter name="xml" position="0" attrib="0" type="Glade.XML" />
<parameter name="func_name" position="1" attrib="0" type="System.String" />
<parameter name="name" position="2" attrib="0" type="System.String" />
<parameter name="string1" position="3" attrib="0" type="System.String" />
<parameter name="string2" position="4" attrib="0" type="System.String" />
<parameter name="int1" position="5" attrib="0" type="System.Int32" />
<parameter name="int2" position="6" attrib="0" type="System.Int32" />
</parameters>
</method>
</methods>
</class>
</classes>
</namespace>
</namespaces>
</assembly>
</assemblies>

File diff suppressed because it is too large Load diff

15709
audit/base/gnome-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

36208
audit/base/gtk-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,901 @@
<?xml version="1.0"?>
<assemblies>
<assembly name="rsvg-sharp" version="1.0.0.0">
<attributes>
<attribute name="System.Reflection.AssemblyKeyFileAttribute">
<properties>
<property name="KeyFile" value="gtk-sharp.snk" />
</properties>
</attribute>
<attribute name="System.Reflection.AssemblyDelaySignAttribute">
<properties>
<property name="DelaySign" value="False" />
</properties>
</attribute>
</attributes>
<namespaces>
<namespace name="Rsvg">
<classes>
<class name="BpathDef" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="MovetoIdx" attrib="6" fieldtype="System.Int32" />
<field name="NBpath" attrib="6" fieldtype="System.Int32" />
<field name="NBpathMax" attrib="6" fieldtype="System.Int32" />
<field name="Zero" attrib="22" fieldtype="Rsvg.BpathDef" />
</fields>
<properties>
<property name="bpath" attrib="1536" ptype="Art.Bpath" params="">
<methods>
<method name="get_bpath()" returntype="Art.Bpath">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="ArtFinish()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Closepath()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Curveto(System.Double, System.Double, System.Double, System.Double, System.Double, System.Double)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="x1" position="0" attrib="0" type="System.Double" />
<parameter name="y1" position="1" attrib="0" type="System.Double" />
<parameter name="x2" position="2" attrib="0" type="System.Double" />
<parameter name="y2" position="3" attrib="0" type="System.Double" />
<parameter name="x3" position="4" attrib="0" type="System.Double" />
<parameter name="y3" position="5" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="Free()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Lineto(System.Double, System.Double)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="x" position="0" attrib="0" type="System.Double" />
<parameter name="y" position="1" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="Moveto(System.Double, System.Double)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="x" position="0" attrib="0" type="System.Double" />
<parameter name="y" position="1" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="New()" attrib="150" returntype="Rsvg.BpathDef">
<parameters />
</method>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.BpathDef">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
<method name="NewFrom(Art.Bpath)" attrib="150" returntype="Rsvg.BpathDef">
<parameters>
<parameter name="bpath" position="0" attrib="0" type="Art.Bpath" />
</parameters>
</method>
</methods>
</class>
<class name="Clone" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="LinearGradient(Rsvg.LinearGradient, out System.Boolean&amp;)" attrib="150" returntype="Rsvg.LinearGradient">
<parameters>
<parameter name="grad" position="0" attrib="0" type="Rsvg.LinearGradient" />
<parameter name="shallow_cloned" position="1" attrib="2" type="System.Boolean&amp;" direction="out" />
</parameters>
</method>
<method name="RadialGradient(Rsvg.RadialGradient, out System.Boolean&amp;)" attrib="150" returntype="Rsvg.RadialGradient">
<parameters>
<parameter name="grad" position="0" attrib="0" type="Rsvg.RadialGradient" />
<parameter name="shallow_cloned" position="1" attrib="2" type="System.Boolean&amp;" direction="out" />
</parameters>
</method>
</methods>
</class>
<class name="Css" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="ParamArgOffset(System.String)" attrib="150" returntype="System.Int32">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParamMatch(System.String, System.String)" attrib="150" returntype="System.Boolean">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="param_name" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseAngle(System.String)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseColor(System.String)" attrib="150" returntype="System.UInt32">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseFontFamily(System.String, System.String)" attrib="150" returntype="System.String">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="inherit" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseFontStretch(System.String, Pango.Stretch)" attrib="150" returntype="Pango.Stretch">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="inherit" position="1" attrib="0" type="Pango.Stretch" />
</parameters>
</method>
<method name="ParseFontStyle(System.String, Pango.Style)" attrib="150" returntype="Pango.Style">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="inherit" position="1" attrib="0" type="Pango.Style" />
</parameters>
</method>
<method name="ParseFontVariant(System.String, Pango.Variant)" attrib="150" returntype="Pango.Variant">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="inherit" position="1" attrib="0" type="Pango.Variant" />
</parameters>
</method>
<method name="ParseFontWeight(System.String, Pango.Weight)" attrib="150" returntype="Pango.Weight">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="inherit" position="1" attrib="0" type="Pango.Weight" />
</parameters>
</method>
<method name="ParseFrequency(System.String)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseLength(System.String, System.Double, out System.Int32&amp;, out System.Int32&amp;, out System.Int32&amp;)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="pixels_per_inch" position="1" attrib="0" type="System.Double" />
<parameter name="percent" position="2" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="em" position="3" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="ex" position="4" attrib="2" type="System.Int32&amp;" direction="out" />
</parameters>
</method>
<method name="ParseNormalizedLength(System.String, System.Double, System.Double, System.Double)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
<parameter name="pixels_per_inch" position="1" attrib="0" type="System.Double" />
<parameter name="width_or_height" position="2" attrib="0" type="System.Double" />
<parameter name="font_size" position="3" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="ParseOpacity(System.String)" attrib="150" returntype="System.UInt32">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseTime(System.String)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseVbox(System.String, out System.Double&amp;, out System.Double&amp;, out System.Double&amp;, out System.Double&amp;)" attrib="150" returntype="System.Boolean">
<parameters>
<parameter name="vbox" position="0" attrib="0" type="System.String" />
<parameter name="x" position="1" attrib="2" type="System.Double&amp;" direction="out" />
<parameter name="y" position="2" attrib="2" type="System.Double&amp;" direction="out" />
<parameter name="w" position="3" attrib="2" type="System.Double&amp;" direction="out" />
<parameter name="h" position="4" attrib="2" type="System.Double&amp;" direction="out" />
</parameters>
</method>
</methods>
</class>
<class name="DefType" type="enum" base="System.Enum" sealed="true" serializable="true" charset="Ansi" layout="Auto" enumtype="System.Reflection.MonoField">
<interfaces>
<interface name="System.IComparable" />
<interface name="System.IConvertible" />
<interface name="System.IFormattable" />
</interfaces>
<fields>
<field name="Lingrad" attrib="32854" fieldtype="Rsvg.DefType" value="0" />
<field name="Pattern" attrib="32854" fieldtype="Rsvg.DefType" value="2" />
<field name="Radgrad" attrib="32854" fieldtype="Rsvg.DefType" value="1" />
</fields>
</class>
<class name="DefVal" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Type" attrib="6" fieldtype="Rsvg.DefType" />
<field name="Zero" attrib="22" fieldtype="Rsvg.DefVal" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.DefVal">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="Defs" type="class" base="GLib.Opaque" charset="Ansi" layout="Auto">
<interfaces>
<interface name="GLib.IWrapper" />
</interfaces>
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
<constructor name=".ctor(System.IntPtr)" attrib="6278">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="Free()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Lookup(System.String)" attrib="134" returntype="Rsvg.DefVal">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Set(System.String, Rsvg.DefVal)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="name" position="0" attrib="0" type="System.String" />
<parameter name="val" position="1" attrib="0" type="Rsvg.DefVal" />
</parameters>
</method>
</methods>
</class>
<class name="Error" type="enum" base="System.Enum" sealed="true" serializable="true" charset="Ansi" layout="Auto" enumtype="System.Reflection.MonoField">
<interfaces>
<interface name="System.IComparable" />
<interface name="System.IConvertible" />
<interface name="System.IFormattable" />
</interfaces>
<fields>
<field name="Failed" attrib="32854" fieldtype="Rsvg.Error" value="0" />
</fields>
</class>
<class name="Global" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<properties>
<property name="DefaultDpi" attrib="1536" ptype="System.Double" params="System.Double">
<methods>
<method name="set_DefaultDpi(System.Double)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="System.Double" />
</parameters>
</method>
</methods>
</property>
</properties>
<methods>
<method name="ErrorQuark()" attrib="150" returntype="System.Int32">
<parameters />
</method>
<method name="IsStyleArg(System.String)" attrib="150" returntype="System.Boolean">
<parameters>
<parameter name="str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseCssbuffer(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="buff" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParsePath(System.String)" attrib="150" returntype="Rsvg.BpathDef">
<parameters>
<parameter name="path_str" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseStyle(Rsvg.Handle, Rsvg.State, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="state" position="1" attrib="0" type="Rsvg.State" />
<parameter name="str" position="2" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseStyleAttrs(Rsvg.Handle, System.String, System.String, System.String, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="tag" position="1" attrib="0" type="System.String" />
<parameter name="klazz" position="2" attrib="0" type="System.String" />
<parameter name="id" position="3" attrib="0" type="System.String" />
<parameter name="atts" position="4" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseStylePair(Rsvg.Handle, Rsvg.State, System.String, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="state" position="1" attrib="0" type="Rsvg.State" />
<parameter name="key" position="2" attrib="0" type="System.String" />
<parameter name="val" position="3" attrib="0" type="System.String" />
</parameters>
</method>
<method name="ParseTransform(System.Double[], System.String)" attrib="150" returntype="System.Boolean">
<parameters>
<parameter name="dst" position="0" attrib="0" type="System.Double[]" />
<parameter name="src" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="PopOpacityGroup(Rsvg.Handle, System.Int32)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="opacity" position="1" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="PushOpacityGroup(Rsvg.Handle)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
</parameters>
</method>
<method name="ViewportPercentage(System.Double, System.Double)" attrib="150" returntype="System.Double">
<parameters>
<parameter name="width" position="0" attrib="0" type="System.Double" />
<parameter name="height" position="1" attrib="0" type="System.Double" />
</parameters>
</method>
</methods>
</class>
<class name="GradientStop" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Offset" attrib="6" fieldtype="System.Double" />
<field name="Rgba" attrib="6" fieldtype="System.UInt32" />
<field name="Zero" attrib="22" fieldtype="Rsvg.GradientStop" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.GradientStop">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="GradientStops" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="NStop" attrib="6" fieldtype="System.Int32" />
<field name="Zero" attrib="22" fieldtype="Rsvg.GradientStops" />
</fields>
<properties>
<property name="stop" attrib="1536" ptype="Rsvg.GradientStop" params="">
<methods>
<method name="get_stop()" returntype="Rsvg.GradientStop">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.GradientStops">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="Handle" type="class" base="GLib.Opaque" charset="Ansi" layout="Auto">
<interfaces>
<interface name="GLib.IWrapper" />
</interfaces>
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
<constructor name=".ctor(System.IntPtr)" attrib="6278">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<properties>
<property name="Dpi" attrib="1536" ptype="System.Double" params="System.Double">
<methods>
<method name="set_Dpi(System.Double)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="System.Double" />
</parameters>
</method>
</methods>
</property>
<property name="Pixbuf" attrib="1536" ptype="Gdk.Pixbuf" params="">
<methods>
<method name="get_Pixbuf()" returntype="Gdk.Pixbuf">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="Close()" attrib="134" returntype="System.Boolean">
<parameters />
</method>
<method name="Free()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="NewGz()" attrib="150" returntype="Rsvg.Handle">
<parameters />
</method>
<method name="Write(System.Byte[], System.UInt64)" attrib="134" returntype="System.Boolean">
<parameters>
<parameter name="buf" position="0" attrib="0" type="System.Byte[]" />
<parameter name="count" position="1" attrib="0" type="System.UInt64" />
</parameters>
</method>
</methods>
</class>
<class name="LinearGradient" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Affine" attrib="4102" fieldtype="System.Double[]" />
<field name="ObjBbox" attrib="6" fieldtype="System.Boolean" />
<field name="Spread" attrib="6" fieldtype="Art.GradientSpread" />
<field name="Super" attrib="6" fieldtype="Rsvg.DefVal" />
<field name="X1" attrib="6" fieldtype="System.Double" />
<field name="X2" attrib="6" fieldtype="System.Double" />
<field name="Y1" attrib="6" fieldtype="System.Double" />
<field name="Y2" attrib="6" fieldtype="System.Double" />
<field name="Zero" attrib="22" fieldtype="Rsvg.LinearGradient" />
</fields>
<properties>
<property name="stops" attrib="1536" ptype="Rsvg.GradientStops" params="">
<methods>
<method name="get_stops()" returntype="Rsvg.GradientStops">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.LinearGradient">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="PSCtx" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Zero" attrib="22" fieldtype="Rsvg.PSCtx" />
</fields>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.PSCtx">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="PaintServer" type="class" base="GLib.Opaque" charset="Ansi" layout="Auto">
<interfaces>
<interface name="GLib.IWrapper" />
</interfaces>
<constructors>
<constructor name=".ctor(System.IntPtr)" attrib="6278">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="Parse(Rsvg.Defs, System.String)" attrib="150" returntype="Rsvg.PaintServer">
<parameters>
<parameter name="defs" position="0" attrib="0" type="Rsvg.Defs" />
<parameter name="str" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Ref()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Unref()" attrib="134" returntype="System.Void">
<parameters />
</method>
</methods>
</class>
<class name="Pixbuf" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="FromFile(System.String)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="FromFileAtMaxSize(System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="max_width" position="1" attrib="0" type="System.Int32" />
<parameter name="max_height" position="2" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileAtMaxSizeEx(Rsvg.Handle, System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="handle" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="file_name" position="1" attrib="0" type="System.String" />
<parameter name="max_width" position="2" attrib="0" type="System.Int32" />
<parameter name="max_height" position="3" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileAtSize(System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="width" position="1" attrib="0" type="System.Int32" />
<parameter name="height" position="2" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileAtSizeEx(Rsvg.Handle, System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="handle" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="file_name" position="1" attrib="0" type="System.String" />
<parameter name="width" position="2" attrib="0" type="System.Int32" />
<parameter name="height" position="3" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileAtZoom(System.String, System.Double, System.Double)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="x_zoom" position="1" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="2" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="FromFileAtZoomEx(Rsvg.Handle, System.String, System.Double, System.Double)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="handle" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="file_name" position="1" attrib="0" type="System.String" />
<parameter name="x_zoom" position="2" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="3" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="FromFileAtZoomWithMax(System.String, System.Double, System.Double, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="x_zoom" position="1" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="2" attrib="0" type="System.Double" />
<parameter name="max_width" position="3" attrib="0" type="System.Int32" />
<parameter name="max_height" position="4" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileAtZoomWithMaxEx(Rsvg.Handle, System.String, System.Double, System.Double, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="handle" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="file_name" position="1" attrib="0" type="System.String" />
<parameter name="x_zoom" position="2" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="3" attrib="0" type="System.Double" />
<parameter name="max_width" position="4" attrib="0" type="System.Int32" />
<parameter name="max_height" position="5" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="FromFileEx(Rsvg.Handle, System.String)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="handle" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="file_name" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="LoadFromResource(System.String)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="resource" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="LoadFromStream(System.IO.Stream)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="input" position="0" attrib="0" type="System.IO.Stream" />
</parameters>
</method>
</methods>
</class>
<class name="RadialGradient" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Affine" attrib="4102" fieldtype="System.Double[]" />
<field name="Cx" attrib="6" fieldtype="System.Double" />
<field name="Cy" attrib="6" fieldtype="System.Double" />
<field name="Fx" attrib="6" fieldtype="System.Double" />
<field name="Fy" attrib="6" fieldtype="System.Double" />
<field name="ObjBbox" attrib="6" fieldtype="System.Boolean" />
<field name="R" attrib="6" fieldtype="System.Double" />
<field name="Spread" attrib="6" fieldtype="Art.GradientSpread" />
<field name="Super" attrib="6" fieldtype="Rsvg.DefVal" />
<field name="Zero" attrib="22" fieldtype="Rsvg.RadialGradient" />
</fields>
<properties>
<property name="stops" attrib="1536" ptype="Rsvg.GradientStops" params="">
<methods>
<method name="get_stops()" returntype="Rsvg.GradientStops">
<parameters />
</method>
</methods>
</property>
</properties>
<methods>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.RadialGradient">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="Render" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="PaintServer(Art.Render, Rsvg.PaintServer, Rsvg.PSCtx)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ar" position="0" attrib="0" type="Art.Render" />
<parameter name="ps" position="1" attrib="0" type="Rsvg.PaintServer" />
<parameter name="ctx" position="2" attrib="0" type="Rsvg.PSCtx" />
</parameters>
</method>
<method name="Path(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="d" position="1" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</class>
<class name="SizeFunc" type="delegate" base="System.MulticastDelegate" sealed="true" serializable="true" charset="Ansi" layout="Auto">
<interfaces>
<interface name="System.ICloneable" />
<interface name="System.Runtime.Serialization.ISerializable" />
</interfaces>
<constructors>
<constructor name=".ctor(System.Object, System.IntPtr)" attrib="6278">
<parameters>
<parameter name="object" position="0" attrib="0" type="System.Object" />
<parameter name="method" position="1" attrib="0" type="System.IntPtr" />
</parameters>
</constructor>
</constructors>
<methods>
<method name="BeginInvoke(out System.Int32&amp;, out System.Int32&amp;, System.AsyncCallback, System.Object)" attrib="454" returntype="System.IAsyncResult">
<parameters>
<parameter name="width" position="0" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="height" position="1" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="callback" position="2" attrib="0" type="System.AsyncCallback" />
<parameter name="object" position="3" attrib="0" type="System.Object" />
</parameters>
</method>
<method name="EndInvoke(out System.Int32&amp;, out System.Int32&amp;, System.IAsyncResult)" attrib="454" returntype="System.Void">
<parameters>
<parameter name="width" position="0" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="height" position="1" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="result" position="2" attrib="0" type="System.IAsyncResult" />
</parameters>
</method>
<method name="Invoke(out System.Int32&amp;, out System.Int32&amp;)" attrib="198" returntype="System.Void">
<parameters>
<parameter name="width" position="0" attrib="2" type="System.Int32&amp;" direction="out" />
<parameter name="height" position="1" attrib="2" type="System.Int32&amp;" direction="out" />
</parameters>
</method>
</methods>
</class>
<class name="Start" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="Circle(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Ellipse(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Image(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Line(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Path(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Polygon(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Polyline(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Rect(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Text(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
<method name="Tspan(Rsvg.Handle, System.String)" attrib="150" returntype="System.Void">
<parameters>
<parameter name="ctx" position="0" attrib="0" type="Rsvg.Handle" />
<parameter name="atts" position="1" attrib="0" type="System.String" />
</parameters>
</method>
</methods>
</class>
<class name="State" type="struct" base="System.ValueType" sealed="true" charset="Ansi" layout="Sequential">
<fields>
<field name="Affine" attrib="4102" fieldtype="System.Double[]" />
<field name="Cap" attrib="6" fieldtype="Art.PathStrokeCapType" />
<field name="FillOpacity" attrib="6" fieldtype="System.Int32" />
<field name="FontDecor" attrib="6" fieldtype="System.Int32" />
<field name="FontFamily" attrib="6" fieldtype="System.String" />
<field name="FontSize" attrib="6" fieldtype="System.Double" />
<field name="FontStretch" attrib="6" fieldtype="Pango.Stretch" />
<field name="FontStyle" attrib="6" fieldtype="Pango.Style" />
<field name="FontVariant" attrib="6" fieldtype="Pango.Variant" />
<field name="FontWeight" attrib="6" fieldtype="Pango.Weight" />
<field name="Join" attrib="6" fieldtype="Art.PathStrokeJoinType" />
<field name="MiterLimit" attrib="6" fieldtype="System.Double" />
<field name="Opacity" attrib="6" fieldtype="System.Int32" />
<field name="StopColor" attrib="6" fieldtype="System.UInt32" />
<field name="StopOpacity" attrib="6" fieldtype="System.Int32" />
<field name="StrokeOpacity" attrib="6" fieldtype="System.Int32" />
<field name="StrokeWidth" attrib="6" fieldtype="System.Double" />
<field name="TextOffset" attrib="6" fieldtype="System.UInt32" />
<field name="Visible" attrib="6" fieldtype="System.Boolean" />
<field name="Zero" attrib="22" fieldtype="Rsvg.State" />
</fields>
<properties>
<property name="dash" attrib="1536" ptype="Art.VpathDash" params="">
<methods>
<method name="get_dash()" returntype="Art.VpathDash">
<parameters />
</method>
<method name="set_dash(Art.VpathDash)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="Art.VpathDash" />
</parameters>
</method>
</methods>
</property>
<property name="fill" attrib="1536" ptype="Rsvg.PaintServer" params="">
<methods>
<method name="get_fill()" returntype="Rsvg.PaintServer">
<parameters />
</method>
<method name="set_fill(Rsvg.PaintServer)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="Rsvg.PaintServer" />
</parameters>
</method>
</methods>
</property>
<property name="save_pixbuf" attrib="1536" ptype="Gdk.Pixbuf" params="">
<methods>
<method name="get_save_pixbuf()" returntype="Gdk.Pixbuf">
<parameters />
</method>
<method name="set_save_pixbuf(Gdk.Pixbuf)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="Gdk.Pixbuf" />
</parameters>
</method>
</methods>
</property>
<property name="stroke" attrib="1536" ptype="Rsvg.PaintServer" params="">
<methods>
<method name="get_stroke()" returntype="Rsvg.PaintServer">
<parameters />
</method>
<method name="set_stroke(Rsvg.PaintServer)" returntype="System.Void">
<parameters>
<parameter name="value" position="0" attrib="0" type="Rsvg.PaintServer" />
</parameters>
</method>
</methods>
</property>
</properties>
<methods>
<method name="Clone(Rsvg.State)" attrib="134" returntype="System.Void">
<parameters>
<parameter name="src" position="0" attrib="0" type="Rsvg.State" />
</parameters>
</method>
<method name="Finalize()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="Init()" attrib="134" returntype="System.Void">
<parameters />
</method>
<method name="New(System.IntPtr)" attrib="150" returntype="Rsvg.State">
<parameters>
<parameter name="raw" position="0" attrib="0" type="System.IntPtr" />
</parameters>
</method>
</methods>
</class>
<class name="Tool" type="class" base="System.Object" charset="Ansi" layout="Auto">
<constructors>
<constructor name=".ctor()" attrib="6278">
<parameters />
</constructor>
</constructors>
<methods>
<method name="PixbufFromFile(System.String)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
</parameters>
</method>
<method name="PixbufFromFileAtMaxSize(System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="max_width" position="1" attrib="0" type="System.Int32" />
<parameter name="max_height" position="2" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="PixbufFromFileAtSize(System.String, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="width" position="1" attrib="0" type="System.Int32" />
<parameter name="height" position="2" attrib="0" type="System.Int32" />
</parameters>
</method>
<method name="PixbufFromFileAtZoom(System.String, System.Double, System.Double)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="x_zoom" position="1" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="2" attrib="0" type="System.Double" />
</parameters>
</method>
<method name="PixbufFromFileAtZoomWithMaxSize(System.String, System.Double, System.Double, System.Int32, System.Int32)" attrib="150" returntype="Gdk.Pixbuf">
<parameters>
<parameter name="file_name" position="0" attrib="0" type="System.String" />
<parameter name="x_zoom" position="1" attrib="0" type="System.Double" />
<parameter name="y_zoom" position="2" attrib="0" type="System.Double" />
<parameter name="max_width" position="3" attrib="0" type="System.Int32" />
<parameter name="max_height" position="4" attrib="0" type="System.Int32" />
</parameters>
</method>
</methods>
</class>
</classes>
</namespace>
</namespaces>
</assembly>
</assemblies>

2144
audit/base/vte-sharp.apiinfo Normal file

File diff suppressed because it is too large Load diff

65
audit/extract-missing.cs Normal file
View file

@ -0,0 +1,65 @@
// extract-missing.cs - grab missing api elements from api-diff files.
//
// Author: Mike Kestner <mkestner@novell.com>
//
// Copyright (c) 2005 Mike Kestner
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of version 2 of the GNU General Public
// License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
namespace GtkSharp.Auditing {
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
public class ExtractMissing {
public static int Main (string[] args)
{
if (args.Length != 1 || !File.Exists (args [0])) {
Console.WriteLine ("Usage: extract-missing <filename>");
return 0;
}
XmlDocument doc = new XmlDocument ();
try {
Stream stream = File.OpenRead (args [0]);
doc.Load (stream);
stream.Close ();
} catch (XmlException e) {
Console.WriteLine ("Invalid apidiff file.");
Console.WriteLine (e);
return 1;
}
XPathNavigator nav = doc.CreateNavigator ();
XPathNodeIterator iter = nav.Select ("//*[@presence='missing']");
while (iter.MoveNext ()) {
XmlElement node = ((IHasXmlNode)iter.Current).GetNode () as XmlElement;
if (node.Name == "class")
Console.WriteLine ("Missing type: " + node.GetAttribute ("name"));
else if (node.ParentNode.ParentNode.Name == "class")
Console.WriteLine ("Missing " + node.Name + " " + (node.ParentNode.ParentNode as XmlElement).GetAttribute ("name") + "." + node.GetAttribute ("name"));
else
Console.WriteLine ("oopsie: " + node.Name);
}
return 0;
}
}
}

43
audit/get-apidiff.pl Executable file
View file

@ -0,0 +1,43 @@
#!/usr/bin/perl
#
# get-apidiff.pl : gets apidiff files for the apiinfo files in
# base_dir that have corresponding files in revised_dir
#
# Authors: Mike Kestner <mkestner@novell.com>
#
# Copyright (c) 2005 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
# License as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
die "Usage: get-apidiff.pl <base_dir> <revised_dir> <outdir>" if (@ARGV != 3);
$base_dir = $ARGV[0];
$revised_dir = $ARGV[1];
$outdir = $ARGV[2];
`mkdir -p $outdir`;
print "comparing api to base: ";
foreach $baseapi (`ls $base_dir/*.apiinfo`) {
chomp ($baseapi);
$baseapi =~ /$base_dir\/(.*)\.apiinfo/;
if (-e "$revised_dir/$1.apiinfo") {
print "*";
`mono mono-api-diff.exe $base_dir/$1.apiinfo $revised_dir/$1.apiinfo > $outdir/$1.apidiff`;
} else {
die "Warning: no $1 apiinfo file found in $revised_dir\n";
}
}
print " Completed\n\n";

40
audit/get-apiinfo.pl Executable file
View file

@ -0,0 +1,40 @@
#!/usr/bin/perl
#
# get-apiinfo.pl : gets apiinfo files for the assemblies in a directory tree.
#
# Authors: Mike Kestner <mkestner@novell.com>
#
# Copyright (c) 2005 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
# License as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
die "Usage: get-apiinfo.pl <root_dir> <outdir>" if (@ARGV != 2);
$root = $ARGV[0];
$outdir = $ARGV[1];
`mkdir -p $outdir`;
`mkdir -p apitmp`;
`cp $root/*/*.dll apitmp`;
print "getting api info: ";
foreach $assm (`ls apitmp/*.dll`) {
chomp ($assm);
$assm =~ /apitmp\/(.*)\.dll/;
print "*";
`mono mono-api-info.exe $assm > $outdir/$1.apiinfo`;
}
`rm -rf apitmp`;
print " Completed\n\n";

39
audit/get-missing.pl Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/perl
#
# get-missing.pl : scans apidiff files for missing api
#
# Authors: Mike Kestner <mkestner@novell.com>
#
# Copyright (c) 2005 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
# License as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
die "Usage: get-missing.pl <diff_dir>" if (@ARGV != 1);
$diff_dir = $ARGV[0];
foreach $diff (`ls $diff_dir/*.apidiff`) {
chomp ($diff);
print "\nchecking for missing members in $diff\n";
@missing = `mono extract-missing.exe $diff`;
if (@missing) {
foreach $miss (@missing) {
print " - $miss";
}
} else {
print " - No missing api found\n";
}
}
print "\n";

23
audit/makefile Normal file
View file

@ -0,0 +1,23 @@
MCS=mcs
all: extract-missing.exe mono-api-info.exe mono-api-diff.exe
check: all
./get-apiinfo.pl .. curr
./get-apidiff.pl base curr diff
./get-missing.pl diff
mono-api-diff.exe: mono-api-diff.cs
$(MCS) mono-api-diff.cs
mono-api-info.exe: mono-api-info.cs
$(MCS) mono-api-info.cs
extract-missing.exe: extract-missing.cs
$(MCS) extract-missing.cs
clean:
rm -f *.exe
rm -rf curr
rm -rf diff

1635
audit/mono-api-diff.cs Normal file

File diff suppressed because it is too large Load diff

967
audit/mono-api-info.cs Normal file
View file

@ -0,0 +1,967 @@
//
// mono-api-info.cs - Dumps public assembly information to an xml file.
//
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// Copyright (C) 2003-2005 Novell, Inc (http://www.novell.com)
//
using System;
using System.Collections;
using System.Globalization;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Text;
using System.Xml;
namespace Mono.AssemblyInfo
{
class Driver
{
static int Main (string [] args)
{
if (args.Length == 0)
return 1;
AssemblyCollection acoll = new AssemblyCollection ();
foreach (string fullName in args) {
acoll.Add (fullName);
}
XmlDocument doc = new XmlDocument ();
acoll.Document = doc;
acoll.DoOutput ();
XmlTextWriter writer = new XmlTextWriter (Console.Out);
writer.Formatting = Formatting.Indented;
XmlNode decl = doc.CreateXmlDeclaration ("1.0", null, null);
doc.InsertBefore (decl, doc.DocumentElement);
doc.WriteTo (writer);
return 0;
}
}
class AssemblyCollection
{
XmlDocument document;
ArrayList assemblies;
public AssemblyCollection ()
{
assemblies = new ArrayList ();
}
public bool Add (string name)
{
Assembly ass = LoadAssembly (name);
if (ass == null)
return false;
assemblies.Add (ass);
return true;
}
public void DoOutput ()
{
if (document == null)
throw new InvalidOperationException ("Document not set");
XmlNode nassemblies = document.CreateElement ("assemblies", null);
document.AppendChild (nassemblies);
foreach (Assembly a in assemblies) {
AssemblyData data = new AssemblyData (document, nassemblies, a);
data.DoOutput ();
}
}
public XmlDocument Document {
set { document = value; }
}
static Assembly LoadAssembly (string aname)
{
Assembly ass = null;
try {
string name = aname;
if (!name.EndsWith (".dll"))
name += ".dll";
ass = Assembly.LoadFrom (name);
return ass;
} catch { }
try {
ass = Assembly.LoadWithPartialName (aname);
return ass;
} catch { }
return null;
}
}
abstract class BaseData
{
protected XmlDocument document;
protected XmlNode parent;
protected BaseData (XmlDocument doc, XmlNode parent)
{
this.document = doc;
this.parent = parent;
}
public abstract void DoOutput ();
protected void AddAttribute (XmlNode node, string name, string value)
{
XmlAttribute attr = document.CreateAttribute (name);
attr.Value = value;
node.Attributes.Append (attr);
}
}
class AssemblyData : BaseData
{
Assembly ass;
public AssemblyData (XmlDocument document, XmlNode parent, Assembly ass)
: base (document, parent)
{
this.ass = ass;
}
public override void DoOutput ()
{
if (document == null)
throw new InvalidOperationException ("Document not set");
XmlNode nassembly = document.CreateElement ("assembly", null);
AssemblyName aname = ass.GetName ();
AddAttribute (nassembly, "name", aname.Name);
AddAttribute (nassembly, "version", aname.Version.ToString ());
parent.AppendChild (nassembly);
AttributeData.OutputAttributes (document, nassembly, ass.GetCustomAttributes (false));
Type [] types = ass.GetExportedTypes ();
if (types == null || types.Length == 0)
return;
Array.Sort (types, TypeComparer.Default);
XmlNode nss = document.CreateElement ("namespaces", null);
nassembly.AppendChild (nss);
string currentNS = "$%&$&";
XmlNode ns = null;
XmlNode classes = null;
foreach (Type t in types) {
if (t.Namespace == null || t.Namespace == "")
continue;
if (t.IsNotPublic)
continue;
if (t.IsNestedPublic || t.IsNestedAssembly || t.IsNestedFamANDAssem ||
t.IsNestedFamORAssem || t.IsNestedPrivate)
continue;
if (t.DeclaringType != null)
continue; // enforce !nested
if (t.Namespace != currentNS) {
currentNS = t.Namespace;
ns = document.CreateElement ("namespace", null);
AddAttribute (ns, "name", currentNS);
nss.AppendChild (ns);
classes = document.CreateElement ("classes", null);
ns.AppendChild (classes);
}
TypeData bd = new TypeData (document, classes, t);
bd.DoOutput ();
}
}
}
abstract class MemberData : BaseData
{
MemberInfo [] members;
public MemberData (XmlDocument document, XmlNode parent, MemberInfo [] members)
: base (document, parent)
{
this.members = members;
}
public override void DoOutput ()
{
XmlNode mclass = document.CreateElement (ParentTag, null);
parent.AppendChild (mclass);
foreach (MemberInfo member in members) {
XmlNode mnode = document.CreateElement (Tag, null);
mclass.AppendChild (mnode);
AddAttribute (mnode, "name", GetName (member));
if (!NoMemberAttributes)
AddAttribute (mnode, "attrib", GetMemberAttributes (member));
AttributeData.OutputAttributes (document, mnode,
member.GetCustomAttributes (false));
AddExtraData (mnode, member);
}
}
protected virtual void AddExtraData (XmlNode p, MemberInfo member)
{
}
protected virtual string GetName (MemberInfo member)
{
return "NoNAME";
}
protected virtual string GetMemberAttributes (MemberInfo member)
{
return null;
}
public virtual bool NoMemberAttributes {
get { return false; }
set {}
}
public virtual string ParentTag {
get { return "NoPARENTTAG"; }
}
public virtual string Tag {
get { return "NoTAG"; }
}
}
class TypeData : MemberData
{
Type type;
const BindingFlags flags = BindingFlags.Public | BindingFlags.Static |
BindingFlags.Instance | BindingFlags.DeclaredOnly |
BindingFlags.NonPublic;
public TypeData (XmlDocument document, XmlNode parent, Type type)
: base (document, parent, null)
{
this.type = type;
}
public override void DoOutput ()
{
if (document == null)
throw new InvalidOperationException ("Document not set");
XmlNode nclass = document.CreateElement ("class", null);
AddAttribute (nclass, "name", type.Name);
string classType = GetClassType (type);
AddAttribute (nclass, "type", classType);
if (type.BaseType != null)
AddAttribute (nclass, "base", type.BaseType.FullName);
if (type.IsSealed)
AddAttribute (nclass, "sealed", "true");
if (type.IsAbstract)
AddAttribute (nclass, "abstract", "true");
if (type.IsSerializable)
AddAttribute (nclass, "serializable", "true");
string charSet = GetCharSet (type);
AddAttribute (nclass, "charset", charSet);
string layout = GetLayout (type);
if (layout != null)
AddAttribute (nclass, "layout", layout);
parent.AppendChild (nclass);
AttributeData.OutputAttributes (document, nclass, type.GetCustomAttributes (false));
Type [] interfaces = type.GetInterfaces ();
if (interfaces != null && interfaces.Length > 0) {
XmlNode ifaces = document.CreateElement ("interfaces", null);
nclass.AppendChild (ifaces);
foreach (Type t in interfaces) {
if (!t.IsPublic) {
// we're only interested in public interfaces
continue;
}
XmlNode iface = document.CreateElement ("interface", null);
AddAttribute (iface, "name", t.FullName);
ifaces.AppendChild (iface);
}
}
ArrayList members = new ArrayList ();
FieldInfo[] fields = GetFields (type);
if (fields.Length > 0) {
Array.Sort (fields, MemberInfoComparer.Default);
FieldData fd = new FieldData (document, nclass, fields);
// Special case for enum fields
if (classType == "enum") {
string etype = fields [0].GetType ().FullName;
AddAttribute (nclass, "enumtype", etype);
}
members.Add (fd);
}
ConstructorInfo [] ctors = GetConstructors (type);
if (ctors.Length > 0) {
Array.Sort (ctors, MemberInfoComparer.Default);
members.Add (new ConstructorData (document, nclass, ctors));
}
PropertyInfo[] properties = GetProperties (type);
if (properties.Length > 0) {
Array.Sort (properties, MemberInfoComparer.Default);
members.Add (new PropertyData (document, nclass, properties));
}
EventInfo [] events = GetEvents (type);
if (events.Length > 0) {
Array.Sort (events, MemberInfoComparer.Default);
members.Add (new EventData (document, nclass, events));
}
MethodInfo [] methods = GetMethods (type);
if (methods.Length > 0) {
Array.Sort (methods, MemberInfoComparer.Default);
members.Add (new MethodData (document, nclass, methods));
}
foreach (MemberData md in members)
md.DoOutput ();
Type [] nested = type.GetNestedTypes ();
if (nested != null && nested.Length > 0) {
XmlNode classes = document.CreateElement ("classes", null);
nclass.AppendChild (classes);
foreach (Type t in nested) {
TypeData td = new TypeData (document, classes, t);
td.DoOutput ();
}
}
}
protected override string GetMemberAttributes (MemberInfo member)
{
if (member != type)
throw new InvalidOperationException ("odd");
return ((int) type.Attributes).ToString (CultureInfo.InvariantCulture);
}
public static bool MustDocumentMethod(MethodBase method)
{
// All other methods
return (method.IsPublic || method.IsFamily || method.IsFamilyOrAssembly);
}
static string GetClassType (Type t)
{
if (t.IsEnum)
return "enum";
if (t.IsValueType)
return "struct";
if (t.IsInterface)
return "interface";
if (typeof (Delegate).IsAssignableFrom (t))
return "delegate";
return "class";
}
private static string GetCharSet (Type type)
{
if (type.IsAnsiClass)
return CharSet.Ansi.ToString (CultureInfo.InvariantCulture);
if (type.IsAutoClass)
return CharSet.Auto.ToString (CultureInfo.InvariantCulture);
if (type.IsUnicodeClass)
return CharSet.Unicode.ToString (CultureInfo.InvariantCulture);
return CharSet.None.ToString (CultureInfo.InvariantCulture);
}
private static string GetLayout (Type type)
{
if (type.IsAutoLayout)
return LayoutKind.Auto.ToString (CultureInfo.InvariantCulture);
if (type.IsExplicitLayout)
return LayoutKind.Explicit.ToString (CultureInfo.InvariantCulture);
if (type.IsLayoutSequential)
return LayoutKind.Sequential.ToString (CultureInfo.InvariantCulture);
return null;
}
private FieldInfo[] GetFields (Type type)
{
ArrayList list = new ArrayList ();
FieldInfo[] fields = type.GetFields (flags);
foreach (FieldInfo field in fields) {
if (field.IsSpecialName)
continue;
// we're only interested in public or protected members
if (!field.IsPublic && !field.IsFamily && !field.IsFamilyOrAssembly)
continue;
list.Add (field);
}
return (FieldInfo[]) list.ToArray (typeof (FieldInfo));
}
internal static PropertyInfo[] GetProperties (Type type)
{
ArrayList list = new ArrayList ();
PropertyInfo[] properties = type.GetProperties (flags);
foreach (PropertyInfo property in properties) {
MethodInfo getMethod = null;
MethodInfo setMethod = null;
if (property.CanRead) {
try { getMethod = property.GetGetMethod (true); }
catch (System.Security.SecurityException) { }
}
if (property.CanWrite) {
try { setMethod = property.GetSetMethod (true); }
catch (System.Security.SecurityException) { }
}
bool hasGetter = (getMethod != null) && MustDocumentMethod (getMethod);
bool hasSetter = (setMethod != null) && MustDocumentMethod (setMethod);
// if neither the getter or setter should be documented, then
// skip the property
if (!hasGetter && !hasSetter) {
continue;
}
list.Add (property);
}
return (PropertyInfo[]) list.ToArray (typeof (PropertyInfo));
}
private MethodInfo[] GetMethods (Type type)
{
ArrayList list = new ArrayList ();
MethodInfo[] methods = type.GetMethods (flags);
foreach (MethodInfo method in methods) {
if (method.IsSpecialName)
continue;
// we're only interested in public or protected members
if (!MustDocumentMethod(method))
continue;
list.Add (method);
}
return (MethodInfo[]) list.ToArray (typeof (MethodInfo));
}
private ConstructorInfo[] GetConstructors (Type type)
{
ArrayList list = new ArrayList ();
ConstructorInfo[] ctors = type.GetConstructors (flags);
foreach (ConstructorInfo constructor in ctors) {
// we're only interested in public or protected members
if (!constructor.IsPublic && !constructor.IsFamily && !constructor.IsFamilyOrAssembly)
continue;
list.Add (constructor);
}
return (ConstructorInfo[]) list.ToArray (typeof (ConstructorInfo));
}
private EventInfo[] GetEvents (Type type)
{
ArrayList list = new ArrayList ();
EventInfo[] events = type.GetEvents (flags);
foreach (EventInfo eventInfo in events) {
MethodInfo addMethod = eventInfo.GetAddMethod (true);
if (addMethod == null || !MustDocumentMethod (addMethod))
continue;
list.Add (eventInfo);
}
return (EventInfo[]) list.ToArray (typeof (EventInfo));
}
}
class FieldData : MemberData
{
public FieldData (XmlDocument document, XmlNode parent, FieldInfo [] members)
: base (document, parent, members)
{
}
protected override string GetName (MemberInfo member)
{
FieldInfo field = (FieldInfo) member;
return field.Name;
}
protected override string GetMemberAttributes (MemberInfo member)
{
FieldInfo field = (FieldInfo) member;
return ((int) field.Attributes).ToString (CultureInfo.InvariantCulture);
}
protected override void AddExtraData (XmlNode p, MemberInfo member)
{
base.AddExtraData (p, member);
FieldInfo field = (FieldInfo) member;
AddAttribute (p, "fieldtype", field.FieldType.FullName);
if (field.IsLiteral) {
object value = field.GetValue (null);
string stringValue = null;
if (value is Enum) {
// FIXME: when Mono bug #60090 has been
// fixed, we should just be able to use
// Convert.ToString
stringValue = ((Enum) value).ToString ("D", CultureInfo.InvariantCulture);
} else {
stringValue = Convert.ToString (value, CultureInfo.InvariantCulture);
}
if (stringValue != null)
AddAttribute (p, "value", stringValue);
}
}
public override string ParentTag {
get { return "fields"; }
}
public override string Tag {
get { return "field"; }
}
}
class PropertyData : MemberData
{
public PropertyData (XmlDocument document, XmlNode parent, PropertyInfo [] members)
: base (document, parent, members)
{
}
protected override string GetName (MemberInfo member)
{
PropertyInfo prop = (PropertyInfo) member;
return prop.Name;
}
protected override void AddExtraData (XmlNode p, MemberInfo member)
{
base.AddExtraData (p, member);
PropertyInfo prop = (PropertyInfo) member;
AddAttribute (p, "ptype", prop.PropertyType.FullName);
MethodInfo _get = prop.GetGetMethod (true);
MethodInfo _set = prop.GetSetMethod (true);
bool haveGet = (_get != null && TypeData.MustDocumentMethod(_get));
bool haveSet = (_set != null && TypeData.MustDocumentMethod(_set));
MethodInfo [] methods;
if (haveGet && haveSet) {
methods = new MethodInfo [] {_get, _set};
} else if (haveGet) {
methods = new MethodInfo [] {_get};
} else if (haveSet) {
methods = new MethodInfo [] {_set};
} else {
//odd
return;
}
string parms = Parameters.GetSignature (methods [0].GetParameters ());
AddAttribute (p, "params", parms);
MethodData data = new MethodData (document, p, methods);
data.NoMemberAttributes = true;
data.DoOutput ();
}
protected override string GetMemberAttributes (MemberInfo member)
{
PropertyInfo prop = (PropertyInfo) member;
return ((int) prop.Attributes).ToString (CultureInfo.InvariantCulture);
}
public override string ParentTag {
get { return "properties"; }
}
public override string Tag {
get { return "property"; }
}
}
class EventData : MemberData
{
public EventData (XmlDocument document, XmlNode parent, EventInfo [] members)
: base (document, parent, members)
{
}
protected override string GetName (MemberInfo member)
{
EventInfo evt = (EventInfo) member;
return evt.Name;
}
protected override string GetMemberAttributes (MemberInfo member)
{
EventInfo evt = (EventInfo) member;
return ((int) evt.Attributes).ToString (CultureInfo.InvariantCulture);
}
protected override void AddExtraData (XmlNode p, MemberInfo member)
{
base.AddExtraData (p, member);
EventInfo evt = (EventInfo) member;
AddAttribute (p, "eventtype", evt.EventHandlerType.FullName);
}
public override string ParentTag {
get { return "events"; }
}
public override string Tag {
get { return "event"; }
}
}
class MethodData : MemberData
{
bool noAtts;
public MethodData (XmlDocument document, XmlNode parent, MethodBase [] members)
: base (document, parent, members)
{
}
protected override string GetName (MemberInfo member)
{
MethodBase method = (MethodBase) member;
string name = method.Name;
string parms = Parameters.GetSignature (method.GetParameters ());
return String.Format ("{0}({1})", name, parms);
}
protected override string GetMemberAttributes (MemberInfo member)
{
MethodBase method = (MethodBase) member;
return ((int) method.Attributes).ToString (CultureInfo.InvariantCulture);
}
protected override void AddExtraData (XmlNode p, MemberInfo member)
{
base.AddExtraData (p, member);
ParameterData parms = new ParameterData (document, p,
((MethodBase) member).GetParameters ());
parms.DoOutput ();
if (!(member is MethodInfo))
return;
MethodInfo method = (MethodInfo) member;
AddAttribute (p, "returntype", method.ReturnType.FullName);
AttributeData.OutputAttributes (document, p,
method.ReturnTypeCustomAttributes.GetCustomAttributes (false));
}
public override bool NoMemberAttributes {
get { return noAtts; }
set { noAtts = value; }
}
public override string ParentTag {
get { return "methods"; }
}
public override string Tag {
get { return "method"; }
}
}
class ConstructorData : MethodData
{
public ConstructorData (XmlDocument document, XmlNode parent, ConstructorInfo [] members)
: base (document, parent, members)
{
}
public override string ParentTag {
get { return "constructors"; }
}
public override string Tag {
get { return "constructor"; }
}
}
class ParameterData : BaseData
{
private ParameterInfo[] parameters;
public ParameterData (XmlDocument document, XmlNode parent, ParameterInfo[] parameters)
: base (document, parent)
{
this.parameters = parameters;
}
public override void DoOutput ()
{
XmlNode parametersNode = document.CreateElement ("parameters", null);
parent.AppendChild (parametersNode);
foreach (ParameterInfo parameter in parameters) {
XmlNode paramNode = document.CreateElement ("parameter", null);
parametersNode.AppendChild (paramNode);
AddAttribute (paramNode, "name", parameter.Name);
AddAttribute (paramNode, "position", parameter.Position.ToString(CultureInfo.InvariantCulture));
AddAttribute (paramNode, "attrib", ((int) parameter.Attributes).ToString());
string direction = "in";
if (parameter.ParameterType.IsByRef) {
direction = parameter.IsOut ? "out" : "ref";
}
Type t = parameter.ParameterType;
AddAttribute (paramNode, "type", t.FullName);
if (parameter.IsOptional) {
AddAttribute (paramNode, "optional", "true");
if (parameter.DefaultValue != System.DBNull.Value)
AddAttribute (paramNode, "defaultValue", (parameter.DefaultValue == null) ? "NULL" : parameter.DefaultValue.ToString ());
}
if (direction != "in")
AddAttribute (paramNode, "direction", direction);
AttributeData.OutputAttributes (document, paramNode, parameter.GetCustomAttributes (false));
}
}
}
class AttributeData : BaseData
{
object [] atts;
string target;
AttributeData (XmlDocument doc, XmlNode parent, object[] attributes, string target)
: base (doc, parent)
{
atts = attributes;
this.target = target;
}
AttributeData (XmlDocument doc, XmlNode parent, object [] attributes)
: this (doc, parent, attributes, null)
{
}
public override void DoOutput ()
{
if (document == null)
throw new InvalidOperationException ("Document not set");
if (atts == null || atts.Length == 0)
return;
XmlNode natts = parent.SelectSingleNode("attributes");
if (natts == null) {
natts = document.CreateElement ("attributes", null);
parent.AppendChild (natts);
}
for (int i = 0; i < atts.Length; ++i) {
Type t = atts [i].GetType ();
if (!t.IsPublic && !t.Name.EndsWith ("TODOAttribute"))
continue;
// we ignore attributes that inherit from SecurityAttribute on purpose as they:
// * aren't part of GetCustomAttributes in Fx 1.0/1.1;
// * are encoded differently and in a different metadata table; and
// * won't ever exactly match MS implementation (from a syntax pov)
if (t.IsSubclassOf (typeof (SecurityAttribute)))
continue;
XmlNode node = document.CreateElement ("attribute");
AddAttribute (node, "name", t.FullName);
XmlNode properties = null;
foreach (PropertyInfo pi in TypeData.GetProperties (t)) {
if (pi.Name == "TypeId")
continue;
if (properties == null) {
properties = node.AppendChild (document.CreateElement ("properties"));
}
try {
object o = pi.GetValue (atts [i], null);
XmlNode n = properties.AppendChild (document.CreateElement ("property"));
AddAttribute (n, "name", pi.Name);
if (o == null) {
AddAttribute (n, "null", "true");
continue;
}
string value = o.ToString ();
if (t == typeof (GuidAttribute))
value = value.ToUpper ();
AddAttribute (n, "value", value);
}
catch (TargetInvocationException) {
continue;
}
}
if (target != null) {
AddAttribute (node, "target", target);
}
natts.AppendChild (node);
}
}
public static void OutputAttributes (XmlDocument doc, XmlNode parent, object[] attributes)
{
AttributeData ad = new AttributeData (doc, parent, attributes, null);
ad.DoOutput ();
}
public static void OutputAttributes (XmlDocument doc, XmlNode parent, object [] attributes, string target)
{
AttributeData ad = new AttributeData (doc, parent, attributes, target);
ad.DoOutput ();
}
private static bool MustDocumentAttribute (Type attributeType)
{
// only document MonoTODOAttribute and public attributes
return attributeType.Name.EndsWith ("TODOAttribute") || attributeType.IsPublic;
}
}
class Parameters
{
private Parameters () {}
public static string GetSignature (ParameterInfo [] infos)
{
if (infos == null || infos.Length == 0)
return "";
StringBuilder sb = new StringBuilder ();
foreach (ParameterInfo info in infos) {
string modifier;
if (info.IsIn)
modifier = "in ";
else if (info.IsRetval)
modifier = "ref ";
else if (info.IsOut)
modifier = "out ";
else
modifier = "";
string type_name = info.ParameterType.ToString ();
sb.AppendFormat ("{0}{1}, ", modifier, type_name);
}
sb.Length -= 2; // remove ", "
return sb.ToString ();
}
}
class TypeComparer : IComparer
{
public static TypeComparer Default = new TypeComparer ();
public int Compare (object a, object b)
{
Type ta = (Type) a;
Type tb = (Type) b;
int result = String.Compare (ta.Namespace, tb.Namespace);
if (result != 0)
return result;
return String.Compare (ta.Name, tb.Name);
}
}
class MemberInfoComparer : IComparer
{
public static MemberInfoComparer Default = new MemberInfoComparer ();
public int Compare (object a, object b)
{
MemberInfo ma = (MemberInfo) a;
MemberInfo mb = (MemberInfo) b;
return String.Compare (ma.Name, mb.Name);
}
}
class MethodBaseComparer : IComparer
{
public static MethodBaseComparer Default = new MethodBaseComparer ();
public int Compare (object a, object b)
{
MethodBase ma = (MethodBase) a;
MethodBase mb = (MethodBase) b;
int res = String.Compare (ma.Name, mb.Name);
if (res != 0)
return res;
ParameterInfo [] pia = ma.GetParameters ();
ParameterInfo [] pib = mb.GetParameters ();
if (pia.Length != pib.Length)
return pia.Length - pib.Length;
string siga = Parameters.GetSignature (pia);
string sigb = Parameters.GetSignature (pib);
return String.Compare (siga, sigb);
}
}
}