Variant: Add wrapper for g_variant_new_array()
This commit is contained in:
parent
24f8cede19
commit
58fb7aa378
1 changed files with 16 additions and 0 deletions
|
@ -146,6 +146,22 @@ namespace GLib {
|
|||
return new Variant (g_variant_new_tuple (native, new UIntPtr ((ulong) children.Length)));
|
||||
}
|
||||
|
||||
[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern IntPtr g_variant_new_array (IntPtr child_type, IntPtr[] children, UIntPtr n_children);
|
||||
|
||||
public static Variant NewArray (VariantType type, Variant[] children)
|
||||
{
|
||||
if (children == null)
|
||||
return new Variant (g_variant_new_array (type.Handle, null, new UIntPtr (0ul)));
|
||||
|
||||
IntPtr[] native = new IntPtr[children.Length];
|
||||
for (int i = 0; i < children.Length; i++)
|
||||
native[i] = children[i].Handle;
|
||||
|
||||
return new Variant (g_variant_new_array (type == null ? (IntPtr) null : type.Handle,
|
||||
native, new UIntPtr ((ulong) children.Length)));
|
||||
}
|
||||
|
||||
[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
|
||||
static extern bool g_variant_get_boolean (IntPtr handle);
|
||||
|
||||
|
|
Loading…
Reference in a new issue