2004-02-02 Mike Kestner <mkestner@ximian.com>

* generator/CustomMarshalerGen.cs : beginnings of a new generatable.
	* generator/SymbolTable.cs : mangle interface keyword to iface.

svn path=/trunk/gtk-sharp/; revision=22712
This commit is contained in:
Mike Kestner 2004-02-02 21:35:01 +00:00
parent 931d2e3203
commit d4c8fc78c7
3 changed files with 90 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2004-02-02 Mike Kestner <mkestner@ximian.com>
* generator/CustomMarshalerGen.cs : beginnings of a new generatable.
* generator/SymbolTable.cs : mangle interface keyword to iface.
2004-02-02 Martin Willemoes Hansen <mwh@sysrq.dk>
* generator/ClassBase.cs: Converted String uses to the string alias.

View File

@ -0,0 +1,82 @@
// GtkSharp.Generation.CustomMarshalerGen.cs - The CustomMarshaler type Generatable.
//
// Author: Mike Kestner <mkestner@ximian.com>
//
// Copyright (c) 2004 Novell, Inc.
namespace GtkSharp.Generation {
using System;
public class CustomMarshalerGen : IGeneratable {
string type;
string ctype;
string marshaler;
public CustomMarshalerGen (string ctype, string type, string marshaler)
{
this.ctype = ctype;
this.type = type;
this.marshaler = marshaler;
}
public string CName {
get {
return ctype;
}
}
public string Name {
get {
return type;
}
}
public string QualifiedName {
get {
return type;
}
}
public string MarshalType {
get {
return "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(" + marshaler + "))] " + type;
}
}
public virtual string MarshalReturnType {
get {
return String.Empty;
}
}
public string CallByName (string var_name)
{
return var_name;
}
public string FromNative(string var)
{
return String.Empty;
}
public virtual string FromNativeReturn(string var)
{
return String.Empty;
}
public virtual string ToNativeReturn(string var)
{
return String.Empty;
}
public void Generate ()
{
}
public void Generate (GenerationInfo gen_info)
{
}
}
}

View File

@ -91,6 +91,7 @@ namespace GtkSharp.Generation {
AddType (new SimpleGen ("GParamSpec", "IntPtr"));
AddType (new SimpleGen ("gconstpointer", "IntPtr"));
// AddType (new CustomMarshalerGen ("time_t", "System.DateTime", "GLib.time_t_CustomMarshaler"));
AddType (new ManualGen ("GSList", "GLib.SList"));
AddType (new ManualGen ("GList", "GLib.List"));
AddType (new ManualGen ("GValue", "GLib.Value"));
@ -326,6 +327,8 @@ namespace GtkSharp.Generation {
return "cb";
case "readonly":
return "read_only";
case "interface":
return "iface";
default:
break;
}