fe699e9fbb
* gconf/Value.cs: Update to use new string marshalling. * generator/StringGen.cs, ConstStringGen.cs: Added. * generator/IGeneratable.cs: Add new method ToNativeReturn. * generator/CallbackGen.cs: Implement ToNativeReturn. Call ToNativeReturn for the return statement. Fix a couple of places where s_ret was being used incorrectly for m_ret. * generator/ClassGen.cs, EnumGen.cs, ManualGen.cs, SimpleGen.cs, StructBase.cs: Implement ToNativeReturn. * generator/SignalHandler.cs: Call ToNativeReturn for the return statement, instead of CallByName. * generator/SymbolTable.cs: Use StringGen for gchar, char, and gunichar, and ConstStringGen for their const variants. Add a new method wrapper for ToNativeReturn. (Trim): Add a special-case for const strings so that the const is not stripped. Otherwise there is no way of resolving the const case. * glade/XML.custom: Update to use new string marshalling. * glib/Marshaller.cs: Added. * glib/GException.cs, Markup.cs, ObjectManager.cs, Value.cs: Update to use new string marshalling. * glib/Object.cs: Remove old g_type_name DllImport as it is no longer used. * glue/fileselection.c (gtksharp_file_selection_get_fileop_entry): Mark this as const return. * gtk/ColorSelection.custom, FileSelection.custom, SelectionData.custom: Update to use new string marshalling. svn path=/trunk/gtk-sharp/; revision=15286
103 lines
1.6 KiB
C#
103 lines
1.6 KiB
C#
// GtkSharp.Generation.ManualGen.cs - The Manually wrapped type Generatable.
|
|
//
|
|
// Author: Mike Kestner <mkestner@speakeasy.net>
|
|
//
|
|
// (c) 2003 Mike Kestner
|
|
|
|
namespace GtkSharp.Generation {
|
|
|
|
using System;
|
|
|
|
public class ManualGen : IGeneratable {
|
|
|
|
string ctype;
|
|
string type;
|
|
string ns = "";
|
|
|
|
public ManualGen (string ctype, string type)
|
|
{
|
|
string[] toks = type.Split('.');
|
|
this.ctype = ctype;
|
|
this.type = toks[toks.Length - 1];
|
|
if (toks.Length > 2)
|
|
this.ns = String.Join (".", toks, 0, toks.Length - 2);
|
|
else if (toks.Length == 2)
|
|
this.ns = toks[0];
|
|
}
|
|
|
|
public ManualGen (string ctype, string ns, string type)
|
|
{
|
|
this.ns = ns;
|
|
this.ctype = ctype;
|
|
this.type = type;
|
|
}
|
|
|
|
public string CName {
|
|
get
|
|
{
|
|
return ctype;
|
|
}
|
|
}
|
|
|
|
public string Name {
|
|
get
|
|
{
|
|
return type;
|
|
}
|
|
}
|
|
|
|
public string QualifiedName {
|
|
get
|
|
{
|
|
return ns + "." + type;
|
|
}
|
|
}
|
|
|
|
public string MarshalType {
|
|
get
|
|
{
|
|
return "IntPtr";
|
|
}
|
|
}
|
|
public string MarshalReturnType {
|
|
get
|
|
{
|
|
return "IntPtr";
|
|
}
|
|
}
|
|
|
|
public string CallByName (string var_name)
|
|
{
|
|
return var_name + ".Handle";
|
|
}
|
|
|
|
public string FromNative(string var)
|
|
{
|
|
return "new " + QualifiedName + "(" + var + ")";
|
|
}
|
|
|
|
public string FromNativeReturn(string var)
|
|
{
|
|
return FromNative (var);
|
|
}
|
|
|
|
public virtual String ToNativeReturn(String var)
|
|
{
|
|
return CallByName (var);
|
|
}
|
|
|
|
public bool DoGenerate {
|
|
get {
|
|
return false;
|
|
}
|
|
set {
|
|
}
|
|
}
|
|
|
|
public void Generate ()
|
|
{
|
|
}
|
|
|
|
}
|
|
}
|
|
|