GtkSharp/doc/en/GLib/Marshaller.xml
Dan Winship faa783fba7 * gnome/Gnome.metadata: mark GnomeTriggerActionFunction's char**
param const

        * glib/Marshaller.cs (Utf8PtrToString): Add an IntPtr[]->string[]
        overload, since that's what we actually need in the case where
        it's used (above). Leave the IntPtr[]->string[] overload of
        PtrToStringGFree in case anyone is using it manually.

        * gtk/Gtk.metadata: hide GtkModuleInitFunc and
        GtkModuleDisplayInitFunc; they are the signatures of user-defined
        methods that gtk only ever resolves via g_module_symbol(), so
        they're not useful from C#. (And the marshalling was all wrong
        anyway...)

svn path=/trunk/gtk-sharp/; revision=43461
2005-04-22 19:43:46 +00:00

252 lines
No EOL
10 KiB
XML

<Type Name="Marshaller" FullName="GLib.Marshaller">
<TypeSignature Language="C#" Value="public class Marshaller" Maintainer="auto" />
<AssemblyInfo>
<AssemblyName>glib-sharp</AssemblyName>
<AssemblyPublicKey>
</AssemblyPublicKey>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
<AssemblyCulture>neutral</AssemblyCulture>
<Attributes />
</AssemblyInfo>
<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Docs>
<summary>Marshalling utilities</summary>
<remarks>Utility class for internal wrapper use</remarks>
</Docs>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Attributes />
<Members>
<Member MemberName="PtrToStringGFree">
<MemberSignature Language="C#" Value="public static string PtrToStringGFree (IntPtr ptr);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ptr" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Marshals a utf8 string from native memory and frees the native string.</summary>
<param name="ptr">a <see cref="T:System.IntPtr" /></param>
<returns>a <see cref="T:System.String" /></returns>
<remarks />
</Docs>
</Member>
<Member MemberName="PtrToStringGFree">
<MemberSignature Language="C#" Value="public static string [] PtrToStringGFree (IntPtr [] ptrs);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ptrs" Type="System.IntPtr[]" />
</Parameters>
<Docs>
<summary>Marshals an array of utf8 string from native memory and frees the native strings.</summary>
<param name="ptrs">a <see cref="T:System.IntPtr[]" /></param>
<returns>a <see cref="T:System.String[]" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="StringToPtrGStrdup">
<MemberSignature Language="C#" Value="public static IntPtr StringToPtrGStrdup (string str);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="str" Type="System.String" />
</Parameters>
<Docs>
<summary>Marshal a string to a native Utf8 string using GLib memory allocation.</summary>
<param name="str">a <see cref="T:System.String" /></param>
<returns>a <see cref="T:System.IntPtr" /></returns>
<remarks />
</Docs>
</Member>
<Member MemberName="ArgvToArrayPtr">
<MemberSignature Language="C#" Value="public static IntPtr ArgvToArrayPtr (string [] args);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="args" Type="System.String[]" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="args">a <see cref="T:System.String" /></param>
<returns>a <see cref="T:System.IntPtr" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="ArrayPtrToArgv">
<MemberSignature Language="C#" Value="public static string [] ArrayPtrToArgv (IntPtr array, int argc);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="array" Type="System.IntPtr" />
<Parameter Name="argc" Type="System.Int32" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="array">a <see cref="T:System.IntPtr" /></param>
<param name="argc">a <see cref="T:System.Int32" /></param>
<returns>a <see cref="T:System.String[]" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="DateTimeTotime_t">
<MemberSignature Language="C#" Value="public static IntPtr DateTimeTotime_t (DateTime time);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time" Type="System.DateTime" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="time">a <see cref="T:System.DateTime" /></param>
<returns>a <see cref="T:System.IntPtr" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="time_tToDateTime">
<MemberSignature Language="C#" Value="public static DateTime time_tToDateTime (IntPtr time_t);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.DateTime</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="time_t" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="time_t">a <see cref="T:System.IntPtr" /></param>
<returns>a <see cref="T:System.DateTime" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="GUnicharToChar">
<MemberSignature Language="C#" Value="public static char GUnicharToChar (uint ucs4_char);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Char</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ucs4_char" Type="System.UInt32" />
</Parameters>
<Docs>
<summary>Marshals a UCS4 character represented as an uint to a UTF16 char.</summary>
<param name="ucs4_char">a <see cref="T:System.UInt32" /></param>
<returns>a <see cref="T:System.Char" /></returns>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName="CharToGUnichar">
<MemberSignature Language="C#" Value="public static uint CharToGUnichar (char c);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.UInt32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="c" Type="System.Char" />
</Parameters>
<Docs>
<summary>Marshals a UTF16 char to a UCS4 character represented as an uint.</summary>
<param name="c">a <see cref="T:System.Char" /></param>
<returns>a <see cref="T:System.UInt32" /></returns>
<remarks>
</remarks>
</Docs>
</Member>
<Member MemberName="StringFormat">
<MemberSignature Language="C#" Value="public static string StringFormat (string format, object [] args);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="format" Type="System.String" />
<Parameter Name="args" Type="System.Object[]" />
</Parameters>
<Docs>
<summary>Wrapper for marshalling between String.Format-style methods and printf-style ones</summary>
<param name="format">a <see cref="M:System.Format" />-style format string</param>
<param name="args">arguments for <paramref name="format" /></param>
<returns>a <see cref="T:System.String" /></returns>
<remarks>This is a wrapper for marshalling between managed String.Format-style methods and unmanaged printf-style ones. The managed function should take a <see cref="T:System.String" /> format, and a <see langword="params" /> array of <see cref="T:System.Object" />, and pass that to <see cref="M:GLib.Marshaller.StringFormat" />. <see cref="M:GLib.Marshaller.StringFormat" /> will format the data, and then make sure that any percent signs in the result are doubled so that they can safely be passed to an unmanaged method that expects a printf-style string (and following arguments).</remarks>
</Docs>
</Member>
<Member MemberName="Utf8PtrToString">
<MemberSignature Language="C#" Value="public static string Utf8PtrToString (IntPtr ptr);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ptr" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>Marshals a native Utf8 string to a managed string.</summary>
<param name="ptr">a <see cref="T:System.IntPtr" /></param>
<returns>a <see cref="T:System.String" /></returns>
<remarks />
</Docs>
</Member>
<Member MemberName="Utf8PtrToString">
<MemberSignature Language="C#" Value="public static string [] Utf8PtrToString (IntPtr [] ptrs);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.String[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ptrs" Type="System.IntPtr[]" />
</Parameters>
<Docs>
<summary>Marshals an array of native Utf8 strings to an array of managed strings.</summary>
<param name="ptrs">a <see cref="T:System.IntPtr" /></param>
<returns>a <see cref="T:System.String[]" /></returns>
<remarks />
</Docs>
</Member>
<Member MemberName="PtrToStructureAlloc">
<MemberSignature Language="C#" Value="public static IntPtr PtrToStructureAlloc (object o);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.IntPtr</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="o" Type="System.Object" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="o">a <see cref="T:System.Object" /></param>
<returns>a <see cref="T:System.IntPtr" /></returns>
<remarks>To be added</remarks>
</Docs>
</Member>
<Member MemberName="Free">
<MemberSignature Language="C#" Value="public static void Free (IntPtr ptr);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="ptr" Type="System.IntPtr" />
</Parameters>
<Docs>
<summary>To be added</summary>
<param name="ptr">a <see cref="T:System.IntPtr" /></param>
<remarks>To be added</remarks>
</Docs>
</Member>
</Members>
</Type>