//
// Author: Jeffrey Stedfast <jeff@xamarin.com>
//
-// Copyright (c) 2012 Xamarin Inc.
+// Copyright (c) 2012-2014 Xamarin Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
}
[DllImport (CoreFoundationLibrary)]
- extern static IntPtr CFRelease (IntPtr handle);
+ extern static void CFRelease (IntPtr handle);
void Release ()
{
public CFArray (IntPtr handle, bool own) : base (handle, own) { }
[DllImport (CoreFoundationLibrary)]
- extern static IntPtr CFArrayCreate (IntPtr allocator, IntPtr values, int numValues, IntPtr callbacks);
+ extern static IntPtr CFArrayCreate (IntPtr allocator, IntPtr values, /* CFIndex */ IntPtr numValues, IntPtr callbacks);
static readonly IntPtr kCFTypeArrayCallbacks;
static CFArray ()
throw new ArgumentNullException ("values");
fixed (IntPtr *pv = values) {
- IntPtr handle = CFArrayCreate (IntPtr.Zero, (IntPtr) pv, values.Length, kCFTypeArrayCallbacks);
+ IntPtr handle = CFArrayCreate (IntPtr.Zero, (IntPtr) pv, (IntPtr) values.Length, kCFTypeArrayCallbacks);
return new CFArray (handle, false);
}
}
[DllImport (CoreFoundationLibrary)]
- extern static int CFArrayGetCount (IntPtr handle);
+ extern static /* CFIndex */ IntPtr CFArrayGetCount (IntPtr handle);
public int Count {
- get { return CFArrayGetCount (Handle); }
+ get { return (int) CFArrayGetCount (Handle); }
}
[DllImport (CoreFoundationLibrary)]
- extern static IntPtr CFArrayGetValueAtIndex (IntPtr handle, int index);
+ extern static IntPtr CFArrayGetValueAtIndex (IntPtr handle, /* CFIndex */ IntPtr index);
public IntPtr this[int index] {
get {
- return CFArrayGetValueAtIndex (Handle, index);
+ return CFArrayGetValueAtIndex (Handle, (IntPtr) index);
}
}
}
public CFNumber (IntPtr handle, bool own) : base (handle, own) { }
[DllImport (CoreFoundationLibrary)]
- extern static bool CFNumberGetValue (IntPtr handle, int type, out bool value);
+ [return: MarshalAs (UnmanagedType.I1)]
+ extern static bool CFNumberGetValue (IntPtr handle, /* CFNumberType */ IntPtr type, [MarshalAs (UnmanagedType.I1)] out bool value);
public static bool AsBool (IntPtr handle)
{
if (handle == IntPtr.Zero)
return false;
- CFNumberGetValue (handle, 1, out value);
+ CFNumberGetValue (handle, (IntPtr) 1, out value);
return value;
}
}
[DllImport (CoreFoundationLibrary)]
- extern static bool CFNumberGetValue (IntPtr handle, int type, out int value);
+ [return: MarshalAs (UnmanagedType.I1)]
+ extern static bool CFNumberGetValue (IntPtr handle, /* CFNumberType */ IntPtr type, out int value);
public static int AsInt32 (IntPtr handle)
{
if (handle == IntPtr.Zero)
return 0;
- CFNumberGetValue (handle, 9, out value);
+ // 9 == kCFNumberIntType == C int
+ CFNumberGetValue (handle, (IntPtr) 9, out value);
return value;
}
}
internal struct CFRange {
- public int Location, Length;
+ public IntPtr Location, Length;
public CFRange (int loc, int len)
{
- Location = loc;
- Length = len;
+ Location = (IntPtr) loc;
+ Length = (IntPtr) len;
}
}
public CFString (IntPtr handle, bool own) : base (handle, own) { }
[DllImport (CoreFoundationLibrary)]
- extern static IntPtr CFStringCreateWithCharacters (IntPtr alloc, IntPtr chars, int length);
+ extern static IntPtr CFStringCreateWithCharacters (IntPtr alloc, IntPtr chars, /* CFIndex */ IntPtr length);
public static CFString Create (string value)
{
unsafe {
fixed (char *ptr = value) {
- handle = CFStringCreateWithCharacters (IntPtr.Zero, (IntPtr) ptr, value.Length);
+ handle = CFStringCreateWithCharacters (IntPtr.Zero, (IntPtr) ptr, (IntPtr) value.Length);
}
}
}
[DllImport (CoreFoundationLibrary)]
- extern static int CFStringGetLength (IntPtr handle);
+ extern static /* CFIndex */ IntPtr CFStringGetLength (IntPtr handle);
public int Length {
get {
if (str != null)
return str.Length;
- return CFStringGetLength (Handle);
+ return (int) CFStringGetLength (Handle);
}
}
if (handle == IntPtr.Zero)
return null;
- int len = CFStringGetLength (handle);
+ int len = (int) CFStringGetLength (handle);
if (len == 0)
return string.Empty;