Beispiel #1
0
        public WidgetTrackingEvent[] PopWidgetTrackableEvents()
        {
            var eventArrays = getTrackableEvents(widgetTrackingEventsKey);

            userDefaults.RemoveObject(widgetTrackingEventsKey);
            return(NSArray.FromArrayNative <WidgetTrackingEvent>(eventArrays));
        }
Beispiel #2
0
        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));
 }