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:
parent
931d2e3203
commit
d4c8fc78c7
3 changed files with 90 additions and 0 deletions
|
@ -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>
|
2004-02-02 Martin Willemoes Hansen <mwh@sysrq.dk>
|
||||||
|
|
||||||
* generator/ClassBase.cs: Converted String uses to the string alias.
|
* generator/ClassBase.cs: Converted String uses to the string alias.
|
||||||
|
|
82
generator/CustomMarshalerGen.cs
Normal file
82
generator/CustomMarshalerGen.cs
Normal 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)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -91,6 +91,7 @@ namespace GtkSharp.Generation {
|
||||||
AddType (new SimpleGen ("GParamSpec", "IntPtr"));
|
AddType (new SimpleGen ("GParamSpec", "IntPtr"));
|
||||||
AddType (new SimpleGen ("gconstpointer", "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 ("GSList", "GLib.SList"));
|
||||||
AddType (new ManualGen ("GList", "GLib.List"));
|
AddType (new ManualGen ("GList", "GLib.List"));
|
||||||
AddType (new ManualGen ("GValue", "GLib.Value"));
|
AddType (new ManualGen ("GValue", "GLib.Value"));
|
||||||
|
@ -326,6 +327,8 @@ namespace GtkSharp.Generation {
|
||||||
return "cb";
|
return "cb";
|
||||||
case "readonly":
|
case "readonly":
|
||||||
return "read_only";
|
return "read_only";
|
||||||
|
case "interface":
|
||||||
|
return "iface";
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue