some updates to generator/DESIGN

svn path=/trunk/gtk-sharp/; revision=38110
This commit is contained in:
Mike Kestner 2004-12-27 18:02:52 +00:00
parent 8d53021079
commit 5562bf645f

View File

@ -37,30 +37,29 @@ GenBase: Abstract base class for any api.xml element that will have
StructGen: Handles non-opaque <struct> elements StructGen: Handles non-opaque <struct> elements
EnumGen: Handles <enum> elements. EnumGen: Handles <enum> elements.
The remaining IGeneratable classes don't generate output files SimpleBase: Abstract base class for types which aren't generated from
themselves, they are just used to generate references to their xml like simple types or manually wrapped/implemented types.
corresponding types in method signatures and the like.
ByRefGen: Handles struct types that must be passed into C code by ByRefGen: Handles struct types that must be passed into C code by
reference (at the moment, only GValue/GLib.Value) reference (at the moment, only GValue/GLib.Value)
CustomMarshalerGen: Handles types that need custom marshalling. ManualGen: Handles types that must be manually marshalled between
(Currently unused?) managed and unmanaged code (by handwritten classes such
GStringGen: Handles conversion between GString and System.String as GLib.List)
ManualGen: Handles types that must be manually marshalled between MarshalGen: Handles types that must be manually marshalled between
managed and unmanaged code (by handwritten classes such managed and unmanaged code via special CallByName/FromNative
as GLib.List) syntax (eg time_t<->DateTime, gunichar<->char)
GObjectGen: Handles GObjects SimpleGen: Handles types that can be simply converted from an
SimpleGen: Handles types that can be simply converted from an unmanaged type to a managed type (int, byte, short, etc...)
unmanaged type to a managed type (usually IntPtr) LPGen : marshals system specific long and "size" types.
LPUGen : marshals system specific unsigned long and "size" types.
ConstStringGen: Handles conversion between "const char *" and ConstStringGen: Handles conversion between "const char *" and
System.String System.String
StringGen: Handles conversion between non-const "char *" and StringGen: Handles conversion between non-const "char *" and
System.String System.String
TimeTGen: Handles conversion between time_t and System.DateTime
AliasGen: Handles <alias> elements. "Generates" type aliases by AliasGen: Handles <alias> elements. "Generates" type aliases by
ignoring them (eg, outputting "Gdk.Rectangle" wherever the ignoring them (eg, outputting "Gdk.Rectangle" wherever the
API calls for a GtkAllocation). API calls for a GtkAllocation).
Other code-generating classes used by IGeneratables Other code-generating classes used by IGeneratables