public WidgetTrackingEvent[] PopWidgetTrackableEvents() { var eventArrays = getTrackableEvents(widgetTrackingEventsKey); userDefaults.RemoveObject(widgetTrackingEventsKey); return(NSArray.FromArrayNative <WidgetTrackingEvent>(eventArrays)); }
private static string GetFilePathFromPasteboard(NSPasteboard draggingPasteboard) { var filenames = NSArray.FromArrayNative <NSString>(draggingPasteboard .GetPropertyListForType(NSPasteboard.NSFilenamesType) as NSArray); return(filenames.FirstOrDefault()); }
public static void RequestSharedWebCredential(string domainName, string account, Action <SecSharedCredentialInfo[], NSError> handler) { Action <NSArray, NSError> onComplete = (NSArray a, NSError e) => { var creds = new SecSharedCredentialInfo [a.Count]; int i = 0; foreach (var dict in NSArray.FromArrayNative <NSDictionary> (a)) { creds [i++] = new SecSharedCredentialInfo(dict); } handler(creds, e); }; // we need to create our own block literal. unsafe { BlockLiteral *block_ptr_onComplete; BlockLiteral block_onComplete; block_onComplete = new BlockLiteral(); block_ptr_onComplete = &block_onComplete; block_onComplete.SetupBlockUnsafe(ArrayErrorActionTrampoline.Handler, onComplete); NSString nsDomain = null; if (domainName != null) { nsDomain = new NSString(domainName); } NSString nsAccount = null; if (account != null) { nsAccount = new NSString(account); } SecRequestSharedWebCredential((nsDomain == null)? IntPtr.Zero : nsDomain.Handle, (nsAccount == null)? IntPtr.Zero : nsAccount.Handle, (IntPtr)block_ptr_onComplete); block_ptr_onComplete->CleanupBlock(); if (nsDomain != null) { nsDomain.Dispose(); } if (nsAccount != null) { nsAccount.Dispose(); } } }
public T[] GetValuesAs <T> () where T : class, INativeObject { return(NSArray.FromArrayNative <T> (_Values)); }