示例#1
0
        public static void SetHideFormAccessoryBar(bool hide)
        {
            if (hide == _hideFormAccessoryBar)
            {
                return;
            }
            var uiMethod = class_getInstanceMethod(Class.GetHandle("UIWebBrowserView"), new Selector("inputAccessoryView").Handle);
            var wkMethod = class_getInstanceMethod(Class.GetHandle("WKContentView"), new Selector("inputAccessoryView").Handle);

            if (hide)
            {
                UIOriginalImp = method_getImplementation(uiMethod);
                WKOriginalImp = method_getImplementation(wkMethod);

                var             block_value = new BlockLiteral();
                CaptureDelegate d           = MyCapture;
                block_value.SetupBlock(d, null);
                var nilimp = imp_implementationWithBlock(ref block_value);
                method_setImplementation(uiMethod, nilimp);
                method_setImplementation(wkMethod, nilimp);
            }
            else
            {
                method_setImplementation(uiMethod, UIOriginalImp);
                method_setImplementation(wkMethod, WKOriginalImp);
            }
            _hideFormAccessoryBar = hide;
        }
        public unsafe virtual void EnablePush(string identifier, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDActionArity2V0))] global::System.Action <NSObject, NSError> callback)
        {
            if (identifier == null)
            {
                throw new ArgumentNullException("identifier");
            }
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }
            var           nsidentifier = NSString.CreateNative(identifier);
            BlockLiteral *block_ptr_callback;
            BlockLiteral  block_callback;

            block_callback     = new BlockLiteral();
            block_ptr_callback = &block_callback;
            block_callback.SetupBlock(Trampolines.SDActionArity2V0.Handler, callback);

            if (IsDirectBinding)
            {
                global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr(this.Handle, Selector.GetHandle("enablePushWithUAChannelID:callback:"), nsidentifier, (IntPtr)block_ptr_callback);
            }
            else
            {
                global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("enablePushWithUAChannelID:callback:"), nsidentifier, (IntPtr)block_ptr_callback);
            }
            NSString.ReleaseNative(nsidentifier);
            block_ptr_callback->CleanupBlock();
        }
示例#3
0
        public unsafe static void Hnk_setImageFromURL(this global::MonoTouch.UIKit.UIButton This, NSUrl URL, global::MonoTouch.UIKit.UIControlState state, global::MonoTouch.UIKit.UIImage placeholder, [BlockProxy(typeof(MonoTouch.ObjCRuntime.Trampolines.NIDCallbackblock))] Callbackblock successBlock, [BlockProxy(typeof(MonoTouch.ObjCRuntime.Trampolines.NIDCallbackblock))] Callbackblock failureBlock)
        {
            if (URL == null)
            {
                throw new ArgumentNullException("URL");
            }
            if (placeholder == null)
            {
                throw new ArgumentNullException("placeholder");
            }
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDCallbackblock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDCallbackblock.Handler, failureBlock);

            ApiDefinition.Messaging.void_objc_msgSend_IntPtr_UInt32_IntPtr_IntPtr_IntPtr(This.Handle, selHnk_setImageFromURLForStatePlaceholderSuccessFailure_Handle, URL.Handle, (UInt32)state, placeholder.Handle, (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
示例#4
0
        public unsafe virtual void MakePayment(WDPayment payment, WDStyle style, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDWDCompletionBlock))] WDCompletionBlock completionBlock)
        {
            if (payment == null)
            {
                throw new ArgumentNullException("payment");
            }
            if (completionBlock == null)
            {
                throw new ArgumentNullException("completionBlock");
            }
            BlockLiteral *block_ptr_completionBlock;
            BlockLiteral  block_completionBlock;

            block_completionBlock     = new BlockLiteral();
            block_ptr_completionBlock = &block_completionBlock;
            block_completionBlock.SetupBlock(Trampolines.SDWDCompletionBlock.Handler, completionBlock);

            if (IsDirectBinding)
            {
                global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(this.Handle, Selector.GetHandle("makePayment:withStyle:withCompletion:"), payment.Handle, style == null ? IntPtr.Zero : style.Handle, (IntPtr)block_ptr_completionBlock);
            }
            else
            {
                global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("makePayment:withStyle:withCompletion:"), payment.Handle, style == null ? IntPtr.Zero : style.Handle, (IntPtr)block_ptr_completionBlock);
            }
            block_ptr_completionBlock->CleanupBlock();
        }
        public unsafe virtual void Run([BlockProxy(typeof(ObjCRuntime.Trampolines.NIDAction))] global::System.Action block, global::System.Double processingDelay, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDAction))] global::System.Action afterProcessed)
        {
            if (block == null)
            {
                throw new ArgumentNullException("block");
            }
            if (afterProcessed == null)
            {
                throw new ArgumentNullException("afterProcessed");
            }
            BlockLiteral *block_ptr_block;
            BlockLiteral  block_block;

            block_block     = new BlockLiteral();
            block_ptr_block = &block_block;
            block_block.SetupBlock(Trampolines.SDAction.Handler, block);
            BlockLiteral *block_ptr_afterProcessed;
            BlockLiteral  block_afterProcessed;

            block_afterProcessed     = new BlockLiteral();
            block_ptr_afterProcessed = &block_afterProcessed;
            block_afterProcessed.SetupBlock(Trampolines.SDAction.Handler, afterProcessed);

            if (IsDirectBinding)
            {
                global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_Double_IntPtr(this.Handle, Selector.GetHandle("run:processingDelay:afterBlockProcessed:"), (IntPtr)block_ptr_block, processingDelay, (IntPtr)block_ptr_afterProcessed);
            }
            else
            {
                global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_Double_IntPtr(this.SuperHandle, Selector.GetHandle("run:processingDelay:afterBlockProcessed:"), (IntPtr)block_ptr_block, processingDelay, (IntPtr)block_ptr_afterProcessed);
            }
            block_ptr_block->CleanupBlock();
            block_ptr_afterProcessed->CleanupBlock();
        }
示例#6
0
        public unsafe static void AsyncInit(string appKey, string appSecret, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDCallbackHandler))] CallbackHandler callback)
        {
            if (appKey == null)
            {
                throw new ArgumentNullException("appKey");
            }
            if (appSecret == null)
            {
                throw new ArgumentNullException("appSecret");
            }
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }
            var           nsappKey    = NSString.CreateNative(appKey);
            var           nsappSecret = NSString.CreateNative(appSecret);
            BlockLiteral *block_ptr_callback;
            BlockLiteral  block_callback;

            block_callback     = new BlockLiteral();
            block_ptr_callback = &block_callback;
            block_callback.SetupBlock(Trampolines.SDCallbackHandler.Handler, callback);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("asyncInit:appSecret:callback:"), nsappKey, nsappSecret, (IntPtr)block_ptr_callback);
            NSString.ReleaseNative(nsappKey);
            NSString.ReleaseNative(nsappSecret);
            block_ptr_callback->CleanupBlock();
        }
示例#7
0
        public unsafe static void DeleteTag(string key, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSResultSuccessBlock))] OSResultSuccessBlock successBlock, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSFailureBlock))] OSFailureBlock failureBlock)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            var           nskey = NSString.CreateNative(key);
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDOSResultSuccessBlock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDOSFailureBlock.Handler, failureBlock);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("deleteTag:onSuccess:onFailure:"), nskey, (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            NSString.ReleaseNative(nskey);
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
示例#8
0
        public unsafe static void SendTags(NSDictionary keyValuePair, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSResultSuccessBlock))] OSResultSuccessBlock successBlock, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSFailureBlock))] OSFailureBlock failureBlock)
        {
            if (keyValuePair == null)
            {
                throw new ArgumentNullException("keyValuePair");
            }
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDOSResultSuccessBlock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDOSFailureBlock.Handler, failureBlock);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("sendTags:onSuccess:onFailure:"), keyValuePair.Handle, (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
        public unsafe void SetLaunchActivityHandler(ENActivityHandler activityHandler)
        {
            var key = new NSString("activityHandler");
            var sel = Selector.GetHandle("setValue:forKey:");

            // get old value
            var oldValue = ValueForKey(key);

            // dispose block
            if (oldValue != null)
            {
                void_objc_msgSend_IntPtr_IntPtr(Handle, sel, IntPtr.Zero, key.Handle);

                var descriptor = (BlockLiteral *)oldValue.Handle;
                descriptor->CleanupBlock();
            }

            if (activityHandler == null)
            {
                return;
            }

            // create new block
            var block = new BlockLiteral();

            block.SetupBlock(ENActivityHandlerCallbackReference, activityHandler);

            // assign
            var ptr = &block;

            void_objc_msgSend_IntPtr_IntPtr(Handle, sel, (IntPtr)ptr, key.Handle);
        }
示例#10
0
        public unsafe static NSObject InitWithLaunchOptions(NSDictionary launchOptions, string appId, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSHandleNotificationActionBlock))] OSHandleNotificationActionBlock actionCallback, NSDictionary settings)
        {
            if (launchOptions == null)
            {
                throw new ArgumentNullException("launchOptions");
            }
            if (appId == null)
            {
                throw new ArgumentNullException("appId");
            }
            if (actionCallback == null)
            {
                throw new ArgumentNullException("actionCallback");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            var           nsappId = NSString.CreateNative(appId);
            BlockLiteral *block_ptr_actionCallback;
            BlockLiteral  block_actionCallback;

            block_actionCallback     = new BlockLiteral();
            block_ptr_actionCallback = &block_actionCallback;
            block_actionCallback.SetupBlock(Trampolines.SDOSHandleNotificationActionBlock.Handler, actionCallback);

            NSObject ret;

            ret = Runtime.GetNSObject(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("initWithLaunchOptions:appId:handleNotificationAction:settings:"), launchOptions.Handle, nsappId, (IntPtr)block_ptr_actionCallback, settings.Handle));
            NSString.ReleaseNative(nsappId);
            block_ptr_actionCallback->CleanupBlock();

            return(ret);
        }
        public unsafe static void Run(this IRBAConnectionQueue This, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDAction))] global::System.Action block, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDAction))] global::System.Action afterProcessed)
        {
            if (block == null)
            {
                throw new ArgumentNullException("block");
            }
            if (afterProcessed == null)
            {
                throw new ArgumentNullException("afterProcessed");
            }
            BlockLiteral *block_ptr_block;
            BlockLiteral  block_block;

            block_block     = new BlockLiteral();
            block_ptr_block = &block_block;
            block_block.SetupBlock(Trampolines.SDAction.Handler, block);
            BlockLiteral *block_ptr_afterProcessed;
            BlockLiteral  block_afterProcessed;

            block_afterProcessed     = new BlockLiteral();
            block_ptr_afterProcessed = &block_afterProcessed;
            block_afterProcessed.SetupBlock(Trampolines.SDAction.Handler, afterProcessed);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr(This.Handle, Selector.GetHandle("run:afterBlockProcessed:"), (IntPtr)block_ptr_block, (IntPtr)block_ptr_afterProcessed);
            block_ptr_block->CleanupBlock();
            block_ptr_afterProcessed->CleanupBlock();
        }
        public unsafe static void RunOnCompletion(this IPayGuardianTransaction This, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDActionArity2V0))] global::System.Action <BPNPayment, NSError> onCompletion, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDActionArity1V0))] global::System.Action <PayGuardianTransactionState> onStateChanged)
        {
            if (onCompletion == null)
            {
                throw new ArgumentNullException("onCompletion");
            }
            if (onStateChanged == null)
            {
                throw new ArgumentNullException("onStateChanged");
            }
            BlockLiteral *block_ptr_onCompletion;
            BlockLiteral  block_onCompletion;

            block_onCompletion     = new BlockLiteral();
            block_ptr_onCompletion = &block_onCompletion;
            block_onCompletion.SetupBlock(Trampolines.SDActionArity2V0.Handler, onCompletion);
            BlockLiteral *block_ptr_onStateChanged;
            BlockLiteral  block_onStateChanged;

            block_onStateChanged     = new BlockLiteral();
            block_ptr_onStateChanged = &block_onStateChanged;
            block_onStateChanged.SetupBlock(Trampolines.SDActionArity1V0.Handler, onStateChanged);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr(This.Handle, Selector.GetHandle("runOnCompletion:onStateChanged:"), (IntPtr)block_ptr_onCompletion, (IntPtr)block_ptr_onStateChanged);
            block_ptr_onCompletion->CleanupBlock();
            block_ptr_onStateChanged->CleanupBlock();
        }
        public unsafe void FrameProcessingBlock2()
        {
            var t = typeof(NSObject).Assembly.GetType("ObjCRuntime.Trampolines/SDPHLivePhotoFrameProcessingBlock2");

            Assert.NotNull(t, "SDPHLivePhotoFrameProcessingBlock2");

            var m = t.GetMethod("Invoke", BindingFlags.Static | BindingFlags.NonPublic);

            Assert.NotNull(m, "Invoke");
            var d = m.CreateDelegate(typeof(DPHLivePhotoFrameProcessingBlock2));

            Action userDelegate = new Action(() => Console.WriteLine("Hello world!"));

            BlockLiteral bl = new BlockLiteral();

            bl.SetupBlock(d, managed);
            try {
                var block = &bl;
                var b     = (IntPtr)block;

                // simulate a call that does not produce an error
                var args = new object [] { b, IntPtr.Zero, IntPtr.Zero };
                error_faker = null;
                Assert.That(m.Invoke(null, args), Is.EqualTo(IntPtr.Zero), "1");

                // simulate a call that does produce an error
                error_faker = new NSError((NSString)"domain", 42);
                Assert.That(m.Invoke(null, args), Is.EqualTo(IntPtr.Zero), "2");
                Assert.That(args [2], Is.EqualTo(error_faker.Handle), "error");
            }
            finally {
                bl.CleanupBlock();
            }
        }
示例#14
0
        public unsafe static void Hnk_setImageFromURL(this global::MonoTouch.UIKit.UIImageView This, NSUrl url, global::MonoTouch.UIKit.UIImage placeholder, [BlockProxy(typeof(MonoTouch.ObjCRuntime.Trampolines.NIDCallbackblock))] Callbackblock successBlock, [BlockProxy(typeof(MonoTouch.ObjCRuntime.Trampolines.NIDCallbackblock))] Callbackblock failureBlock)
        {
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDCallbackblock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDCallbackblock.Handler, failureBlock);

            ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr_IntPtr(This.Handle, selHnk_setImageFromURLPlaceholderSuccessFailure_Handle, url.Handle, placeholder == null ? IntPtr.Zero : placeholder.Handle, (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
示例#15
0
        public unsafe virtual void GetTags([BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOneSignalResultSuccessBlock))] OneSignalResultSuccessBlock successBlock, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOneSignalFailureBlock))] OneSignalFailureBlock failureBlock)
        {
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDOneSignalResultSuccessBlock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDOneSignalFailureBlock.Handler, failureBlock);

            if (IsDirectBinding)
            {
                global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr(this.Handle, Selector.GetHandle("getTags:onFailure:"), (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            }
            else
            {
                global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("getTags:onFailure:"), (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            }
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
        public unsafe virtual void PresentAnimatedFromParentViewController(global::UIKit.UIViewController viewController, CGRect frame, [BlockProxy(typeof(ObjCRuntime.Trampolines.SDAction))] global::System.Action completion)
        {
            if (viewController == null)
            {
                throw new ArgumentNullException("viewController");
            }
            if (completion == null)
            {
                throw new ArgumentNullException("completion");
            }
            BlockLiteral *block_ptr_completion;
            BlockLiteral  block_completion;

            block_completion     = new BlockLiteral();
            block_ptr_completion = &block_completion;
            block_completion.SetupBlock(Trampolines.SDAction.Handler, completion);

            if (IsDirectBinding)
            {
                global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_CGRect_IntPtr(this.Handle, Selector.GetHandle("presentAnimatedFromParentViewController:fromFrame:completion:"), viewController.Handle, frame, (IntPtr)block_ptr_completion);
            }
            else
            {
                global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_CGRect_IntPtr(this.SuperHandle, Selector.GetHandle("presentAnimatedFromParentViewController:fromFrame:completion:"), viewController.Handle, frame, (IntPtr)block_ptr_completion);
            }
            block_ptr_completion->CleanupBlock();
        }
示例#17
0
        void SwizzleNSApplicationAccessibilitySetter()
        {
            // Swizzle accessibilitySetValue:forAttribute: so that we can detect when VoiceOver gets enabled
            var nsApplicationClassHandle = Class.GetHandle("NSApplication");

            // This happens if GtkMac is loaded before XamMac
            if (nsApplicationClassHandle == IntPtr.Zero)
            {
                return;
            }

            var accessibilitySetValueForAttributeSelector = Selector.GetHandle("accessibilitySetValue:forAttribute:");

            var accessibilitySetValueForAttributeMethod = class_getInstanceMethod(nsApplicationClassHandle, accessibilitySetValueForAttributeSelector);

            originalAccessibilitySetValueForAttributeMethod = method_getImplementation(accessibilitySetValueForAttributeMethod);

            var block = new BlockLiteral();

            SwizzledAccessibilitySetValueForAttributeDelegate d = accessibilitySetValueForAttribute;

            block.SetupBlock(d, null);
            var imp = imp_implementationWithBlock(ref block);

            method_setImplementation(accessibilitySetValueForAttributeMethod, imp);

            accessibilityInUse    = CFPreferences.GetAppBooleanValue("voiceOverOnOffKey", "com.apple.universalaccess");
            a11yHelperInitialized = true;
        }
示例#18
0
        public unsafe static void DeleteTags(NSObject[] keys, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSResultSuccessBlock))] OSResultSuccessBlock successBlock, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOSFailureBlock))] OSFailureBlock failureBlock)
        {
            if (keys == null)
            {
                throw new ArgumentNullException("keys");
            }
            if (successBlock == null)
            {
                throw new ArgumentNullException("successBlock");
            }
            if (failureBlock == null)
            {
                throw new ArgumentNullException("failureBlock");
            }
            var           nsa_keys = NSArray.FromNSObjects(keys);
            BlockLiteral *block_ptr_successBlock;
            BlockLiteral  block_successBlock;

            block_successBlock     = new BlockLiteral();
            block_ptr_successBlock = &block_successBlock;
            block_successBlock.SetupBlock(Trampolines.SDOSResultSuccessBlock.Handler, successBlock);
            BlockLiteral *block_ptr_failureBlock;
            BlockLiteral  block_failureBlock;

            block_failureBlock     = new BlockLiteral();
            block_ptr_failureBlock = &block_failureBlock;
            block_failureBlock.SetupBlock(Trampolines.SDOSFailureBlock.Handler, failureBlock);

            global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("deleteTags:onSuccess:onFailure:"), nsa_keys.Handle, (IntPtr)block_ptr_successBlock, (IntPtr)block_ptr_failureBlock);
            nsa_keys.Dispose();
            block_ptr_successBlock->CleanupBlock();
            block_ptr_failureBlock->CleanupBlock();
        }
        public unsafe virtual void SetCenterViewController(global::MonoTouch.UIKit.UIViewController centerViewController, bool closeAnimated, [BlockProxy(typeof(MonoTouch.ObjCRuntime.Trampolines.NIDAction))] global::System.Action completion)
        {
            if (centerViewController == null)
            {
                throw new ArgumentNullException("centerViewController");
            }
            if (completion == null)
            {
                throw new ArgumentNullException("completion");
            }
            BlockLiteral *block_ptr_completion;
            BlockLiteral  block_completion;

            block_completion     = new BlockLiteral();
            block_ptr_completion = &block_completion;
            block_completion.SetupBlock(Trampolines.SDAction.Handler, completion);

            if (IsDirectBinding)
            {
                ApiDefinitions.Messaging.void_objc_msgSend_IntPtr_bool_IntPtr(this.Handle, selSetCenterViewControllerWithCloseAnimationCompletion_Handle, centerViewController.Handle, closeAnimated, (IntPtr)block_ptr_completion);
            }
            else
            {
                ApiDefinitions.Messaging.void_objc_msgSendSuper_IntPtr_bool_IntPtr(this.SuperHandle, selSetCenterViewControllerWithCloseAnimationCompletion_Handle, centerViewController.Handle, closeAnimated, (IntPtr)block_ptr_completion);
            }
            block_ptr_completion->CleanupBlock();
        }
示例#20
0
        public static void AddSharedWebCredential(string domainName, string account, string password, Action <NSError> handler)
        {
            if (domainName == null)
            {
                throw new ArgumentNullException("domainName");
            }
            if (account == null)
            {
                throw new ArgumentNullException("account");
            }
            // we need to create our own block literal. We can reuse the SDActionArity1V12 which is generated and takes a
            // NSError because a CFError is a toll-free bridget to CFError
            unsafe {
                BlockLiteral *block_ptr_onComplete;
                BlockLiteral  block_onComplete;
                block_onComplete     = new BlockLiteral();
                block_ptr_onComplete = &block_onComplete;
                block_onComplete.SetupBlock(ActionTrampoline.Handler, handler);

                using (var nsDomain = new NSString(domainName))
                    using (var nsAccount = new NSString(account)) {
                        if (password == null)                    // we are removing a password
                        {
                            SecAddSharedWebCredential(nsDomain.Handle, nsAccount.Handle, IntPtr.Zero, (IntPtr)block_ptr_onComplete);
                        }
                        else
                        {
                            using (var nsPassword = new NSString(password)) {
                                SecAddSharedWebCredential(nsDomain.Handle, nsAccount.Handle, nsPassword.Handle, (IntPtr)block_ptr_onComplete);
                            }
                        }
                        block_ptr_onComplete->CleanupBlock();
                    }
            }
        }
示例#21
0
        public static IMTLDevice [] GetAllDevices(ref NSObject observer, MTLDeviceNotificationHandler handler)
        {
            if (observer == null)
            {
                throw new ArgumentNullException("observer");
            }

            IntPtr handle = observer.Handle;

            unsafe
            {
                BlockLiteral *block_ptr_handler;
                BlockLiteral  block_handler;
                block_handler     = new BlockLiteral();
                block_ptr_handler = &block_handler;
                block_handler.SetupBlock(static_notificationHandler, handler);

                var rv  = MTLCopyAllDevicesWithObserver(ref handle, (void *)block_ptr_handler);
                var obj = NSArray.ArrayFromHandle <IMTLDevice> (rv);

                if (handle != observer.Handle)
                {
                    observer = Runtime.GetNSObject(handle);
                }

                return(obj);
            }
        }
示例#22
0
        public unsafe static void UnbindTag(int target, NSObject[] tags, string alias, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDCallbackHandler))] CallbackHandler callback)
        {
            if (tags == null)
            {
                throw new ArgumentNullException("tags");
            }
            if (alias == null)
            {
                throw new ArgumentNullException("alias");
            }
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }
            var           nsa_tags = NSArray.FromNSObjects(tags);
            var           nsalias  = NSString.CreateNative(alias);
            BlockLiteral *block_ptr_callback;
            BlockLiteral  block_callback;

            block_callback     = new BlockLiteral();
            block_ptr_callback = &block_callback;
            block_callback.SetupBlock(Trampolines.SDCallbackHandler.Handler, callback);

            global::ApiDefinition.Messaging.void_objc_msgSend_int_IntPtr_IntPtr_IntPtr(class_ptr, Selector.GetHandle("unbindTag:withTags:withAlias:withCallback:"), target, nsa_tags.Handle, nsalias, (IntPtr)block_ptr_callback);
            nsa_tags.Dispose();
            NSString.ReleaseNative(nsalias);
            block_ptr_callback->CleanupBlock();
        }
示例#23
0
        public VTStatus EncodeFrame(CVImageBuffer imageBuffer, CMTime presentationTimestamp, CMTime duration,
                                    NSDictionary frameProperties, IntPtr sourceFrame, out VTEncodeInfoFlags infoFlags,
                                    VTCompressionOutputHandler outputHandler)
        {
            if (Handle == IntPtr.Zero)
            {
                throw new ObjectDisposedException("CompressionSession");
            }
            if (imageBuffer == null)
            {
                throw new ArgumentNullException("imageBuffer");
            }
            if (outputHandler == null)
            {
                throw new ArgumentNullException("outputHandler");
            }

            unsafe {
                var block    = new BlockLiteral();
                var blockPtr = &block;
                block.SetupBlock(compressionOutputHandlerTrampoline, outputHandler);

                try {
                    return(VTCompressionSessionEncodeFrameWithOutputHandler(Handle,
                                                                            imageBuffer.Handle, presentationTimestamp, duration,
                                                                            frameProperties == null ? IntPtr.Zero : frameProperties.Handle,
                                                                            out infoFlags, blockPtr));
                } finally {
                    blockPtr->CleanupBlock();
                }
            }
        }
示例#24
0
        public VTStatus DecodeFrame(CMSampleBuffer sampleBuffer, VTDecodeFrameFlags decodeFlags,
                                    out VTDecodeInfoFlags infoFlags, VTDecompressionOutputHandler outputHandler)
        {
            if (Handle == IntPtr.Zero)
            {
                throw new ObjectDisposedException("DecompressionSession");
            }
            if (sampleBuffer == null)
            {
                throw new ArgumentNullException("sampleBuffer");
            }
            if (outputHandler == null)
            {
                throw new ArgumentNullException("outputHandler");
            }

            unsafe {
                var block    = new BlockLiteral();
                var blockPtr = &block;
                block.SetupBlock(decompressionOutputHandlerTrampoline, outputHandler);

                try {
                    return(VTDecompressionSessionDecodeFrameWithOutputHandler(Handle,
                                                                              sampleBuffer.Handle, decodeFlags, out infoFlags, blockPtr));
                } finally {
                    blockPtr->CleanupBlock();
                }
            }
        }
示例#25
0
        public unsafe OneSignal(NSDictionary launchOptions, string appId, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDOneSignalHandleNotificationBlock))] OneSignalHandleNotificationBlock callback, bool autoRegister)
            : base(NSObjectFlag.Empty)
        {
            if (launchOptions == null)
            {
                throw new ArgumentNullException("launchOptions");
            }
            if (appId == null)
            {
                throw new ArgumentNullException("appId");
            }
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }
            var           nsappId = NSString.CreateNative(appId);
            BlockLiteral *block_ptr_callback;
            BlockLiteral  block_callback;

            block_callback     = new BlockLiteral();
            block_ptr_callback = &block_callback;
            block_callback.SetupBlock(Trampolines.SDOneSignalHandleNotificationBlock.Handler, callback);

            IsDirectBinding = GetType().Assembly == global::ApiDefinition.Messaging.this_assembly;
            if (IsDirectBinding)
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_bool(this.Handle, Selector.GetHandle("initWithLaunchOptions:appId:handleNotification:autoRegister:"), launchOptions.Handle, nsappId, (IntPtr)block_ptr_callback, autoRegister), "initWithLaunchOptions:appId:handleNotification:autoRegister:");
            }
            else
            {
                InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_bool(this.SuperHandle, Selector.GetHandle("initWithLaunchOptions:appId:handleNotification:autoRegister:"), launchOptions.Handle, nsappId, (IntPtr)block_ptr_callback, autoRegister), "initWithLaunchOptions:appId:handleNotification:autoRegister:");
            }
            NSString.ReleaseNative(nsappId);
            block_ptr_callback->CleanupBlock();
        }
示例#26
0
        public static void RequestSharedWebCredential(string domainName, string account, Action<string[], NSError> handler)
        {
            // do not check domain an account because they can be null
            Action<NSArray, NSError> onComplete = (NSArray a, NSError e) => {
                // get a string [] for the user rather than an ugly NSArray
                var array = NSArray.StringArrayFromHandle (a.Handle);
                handler (array, 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.SetupBlock (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 ();
            }
        }
示例#27
0
        public static void AddSharedWebCredential(string domainName, string account, string password, Action<NSError> handler)
        {
            if (domainName == null)
                throw new ArgumentNullException ("domainName");
            if (account == null)
                throw new ArgumentNullException ("account");
            // we need to create our own block literal. We can reuse the SDActionArity1V12 which is generated and takes a
            // NSError because a CFError is a toll-free bridget to CFError
            unsafe {
                BlockLiteral *block_ptr_onComplete;
                BlockLiteral block_onComplete;
                block_onComplete = new BlockLiteral ();
                block_ptr_onComplete = &block_onComplete;
                block_onComplete.SetupBlock (ActionTrampoline.Handler, handler);

                using (var nsDomain = new NSString (domainName))
                using (var nsAccount = new NSString (account)) {
                    if (password == null) {  // we are removing a password
                        SecAddSharedWebCredential (nsDomain.Handle, nsAccount.Handle, IntPtr.Zero, (IntPtr) block_ptr_onComplete);
                    } else {
                        using (var nsPassword = new NSString (password)) {
                            SecAddSharedWebCredential (nsDomain.Handle, nsAccount.Handle, nsPassword.Handle, (IntPtr) block_ptr_onComplete);
                        }
                    }
                    block_ptr_onComplete->CleanupBlock ();
                }
            }
        }
示例#28
0
        unsafe void SetupBlockUnoptimized(Action callback)
        {
            BlockLiteral block = new BlockLiteral();

            block.SetupBlock(block_callback, callback);
            Bindings.Test.CFunctions.x_call_block(ref block);
            block.CleanupBlock();
        }
示例#29
0
        void SetupBlockOptimized_LoadStaticField(Action callback)
        {
            // ldsfld
            BlockLiteral block = new BlockLiteral();

            block.SetupBlock(block_callback, callback);
            Bindings.Test.CFunctions.x_call_block(ref block);
            block.CleanupBlock();
        }
示例#30
0
        void SetupBlockOptimized_CallVirtualMethod(Action callback)
        {
            // calli
            BlockLiteral block = new BlockLiteral();

            block.SetupBlock(GetBlockCallbackInstance(), callback);
            Bindings.Test.CFunctions.x_call_block(ref block);
            block.CleanupBlock();
        }
示例#31
0
        void SetupBlockOptimized_CallStaticMethod(Action callback)
        {
            // call
            BlockLiteral block = new BlockLiteral();

            block.SetupBlock(GetBlockCallbackStatic(), callback);
            Bindings.Test.CFunctions.x_call_block(ref block);
            block.CleanupBlock();
        }
示例#32
0
        unsafe void CustomWithAttribute(Action callback)
        {
            BlockLiteral block = new BlockLiteral();
            CustomDelegateWithAttribute block_callback = BlockCallback;

            block.SetupBlock(block_callback, callback);
            Bindings.Test.CFunctions.x_call_block(ref block);
            block.CleanupBlock();
        }
示例#33
0
        //
        // You must invoke ->CleanupBlock after you have transferred ownership to
        // the unmanaged code to release the resources allocated on the managed side
        //
        public static unsafe void Invoke(Action codeToRun, Action<IntPtr> invoker)
        {
            BlockLiteral *block_ptr;
            BlockLiteral block;
            block = new BlockLiteral ();
            block_ptr = &block;

            block.SetupBlock (Trampolines.SDAction.Handler, codeToRun);
            invoker ((IntPtr) block_ptr);
            block_ptr->CleanupBlock ();
        }
		public unsafe static void Show (this IMTMBProgressHUD This, bool animated, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDNSDispatchHandlerT))]NSDispatchHandlerT whileExecutingHandler)
		{
			if (whileExecutingHandler == null)
				throw new ArgumentNullException ("whileExecutingHandler");
			BlockLiteral *block_ptr_whileExecutingHandler;
			BlockLiteral block_whileExecutingHandler;
			block_whileExecutingHandler = new BlockLiteral ();
			block_ptr_whileExecutingHandler = &block_whileExecutingHandler;
			block_whileExecutingHandler.SetupBlock (Trampolines.SDNSDispatchHandlerT.Handler, whileExecutingHandler);
			
			ApiDefinition.Messaging.void_objc_msgSend_bool_IntPtr (This.Handle, Selector.GetHandle ("showAnimated:whileExecutingBlock:"), animated, (IntPtr) block_ptr_whileExecutingHandler);
			block_ptr_whileExecutingHandler->CleanupBlock ();
			
		}
		public unsafe static void CloseDrawerAnimated (this MMDrawerController This, bool animated, float velocity, global::MonoTouch.UIKit.UIViewAnimationOptions options, [BlockProxy (typeof (MonoTouch.ObjCRuntime.Trampolines.NIDAction))]global::System.Action completion)
		{
			if (completion == null)
				throw new ArgumentNullException ("completion");
			BlockLiteral *block_ptr_completion;
			BlockLiteral block_completion;
			block_completion = new BlockLiteral ();
			block_ptr_completion = &block_completion;
			block_completion.SetupBlock (Trampolines.SDAction.Handler, completion);
			
			ApiDefinitions.Messaging.void_objc_msgSend_bool_float_int_IntPtr (This.Handle, selCloseDrawerAnimatedVelocityAnimationOptionsCompletion_Handle, animated, velocity, (int)options, (IntPtr) block_ptr_completion);
			block_ptr_completion->CleanupBlock ();
			
		}
		public unsafe virtual void BumpEvent (BumpEventBlock evt)
		{
			if (evt == null)
				throw new ArgumentNullException ("evt");
			BlockLiteral *block_ptr_evt;
			BlockLiteral block_evt;
			block_evt = new BlockLiteral ();
			block_ptr_evt = &block_evt;
			block_evt.SetupBlock (static_InnerBumpEventBlock, evt);
			
			MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selBumpEventBlock_, (IntPtr) block_ptr_evt);
			block_ptr_evt->CleanupBlock ();
			
		}
		public unsafe virtual void SetDataReceivedBlock (BumpDataReceivedBlock dataReceivedBlock)
		{
			if (dataReceivedBlock == null)
				throw new ArgumentNullException ("dataReceivedBlock");
			BlockLiteral *block_ptr_dataReceivedBlock;
			BlockLiteral block_dataReceivedBlock;
			block_dataReceivedBlock = new BlockLiteral ();
			block_ptr_dataReceivedBlock = &block_dataReceivedBlock;
			block_dataReceivedBlock.SetupBlock (static_InnerBumpDataReceivedBlock, dataReceivedBlock);
			
			MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selSetDataReceivedBlock_, (IntPtr) block_ptr_dataReceivedBlock);
			block_ptr_dataReceivedBlock->CleanupBlock ();
			
		}
		public unsafe virtual void SetVisible (bool showing, bool animated, [BlockProxy (typeof (MonoTouch.ObjCRuntime.Trampolines.NIDCompletionCallback))]CompletionCallback completion)
		{
			if (completion == null)
				throw new ArgumentNullException ("completion");
			BlockLiteral *block_ptr_completion;
			BlockLiteral block_completion;
			block_completion = new BlockLiteral ();
			block_ptr_completion = &block_completion;
			block_completion.SetupBlock (Trampolines.SDCompletionCallback.Handler, completion);
			
			if (IsDirectBinding) {
				ApiDefinition.Messaging.void_objc_msgSend_bool_bool_IntPtr (this.Handle, selSetVisibleAnimatedCompletion_Handle, showing, animated, (IntPtr) block_ptr_completion);
			} else {
				ApiDefinition.Messaging.void_objc_msgSendSuper_bool_bool_IntPtr (this.SuperHandle, selSetVisibleAnimatedCompletion_Handle, showing, animated, (IntPtr) block_ptr_completion);
			}
			block_ptr_completion->CleanupBlock ();
			
		}
		public unsafe virtual void PresentAnimatedFromParentViewController (global::UIKit.UIViewController viewController, CGRect frame, [BlockProxy (typeof (ObjCRuntime.Trampolines.SDAction))]global::System.Action completion)
		{
			if (viewController == null)
				throw new ArgumentNullException ("viewController");
			if (completion == null)
				throw new ArgumentNullException ("completion");
			BlockLiteral *block_ptr_completion;
			BlockLiteral block_completion;
			block_completion = new BlockLiteral ();
			block_ptr_completion = &block_completion;
			block_completion.SetupBlock (Trampolines.SDAction.Handler, completion);
			
			if (IsDirectBinding) {
				global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_CGRect_IntPtr (this.Handle, Selector.GetHandle ("presentAnimatedFromParentViewController:fromFrame:completion:"), viewController.Handle, frame, (IntPtr) block_ptr_completion);
			} else {
				global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_CGRect_IntPtr (this.SuperHandle, Selector.GetHandle ("presentAnimatedFromParentViewController:fromFrame:completion:"), viewController.Handle, frame, (IntPtr) block_ptr_completion);
			}
			block_ptr_completion->CleanupBlock ();
			
		}
		public unsafe virtual void SetConnectionStateChangedBlock (BumpConnectionStateChangedBlock connectionBlock)
		{
			if (connectionBlock == null)
				throw new ArgumentNullException ("connectionBlock");
			BlockLiteral *block_ptr_connectionBlock;
			BlockLiteral block_connectionBlock;
			block_connectionBlock = new BlockLiteral ();
			block_ptr_connectionBlock = &block_connectionBlock;
			block_connectionBlock.SetupBlock (static_InnerBumpConnectionStateChangedBlock, connectionBlock);
			
			MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selSetConnectionStateChangedBlock_, (IntPtr) block_ptr_connectionBlock);
			block_ptr_connectionBlock->CleanupBlock ();
			
		}
		public unsafe static void SetCompletionHandler (this IMTMBProgressHUD This, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDMBProgressHUDCompletionHandler))]MBProgressHUDCompletionHandler value)
		{
			if (value == null)
				throw new ArgumentNullException ("value");
			BlockLiteral *block_ptr_value;
			BlockLiteral block_value;
			block_value = new BlockLiteral ();
			block_ptr_value = &block_value;
			block_value.SetupBlock (Trampolines.SDMBProgressHUDCompletionHandler.Handler, value);
			
			ApiDefinition.Messaging.void_objc_msgSend_IntPtr (This.Handle, Selector.GetHandle ("setCompletionBlock:"), (IntPtr) block_ptr_value);
			block_ptr_value->CleanupBlock ();
			
		}
示例#42
0
        public void PlaySystemSound(Action onCompletion)
        {
            if (onCompletion == null)
                throw new ArgumentNullException (nameof (onCompletion));

            AssertNotDisposed ();
            unsafe {
                BlockLiteral *block_ptr_handler;
                BlockLiteral block_handler;
                block_handler = new BlockLiteral ();
                block_ptr_handler = &block_handler;
                block_handler.SetupBlock (static_action, onCompletion);

                AudioServicesPlaySystemSoundWithCompletion (soundId, block_ptr_handler);

                block_ptr_handler->CleanupBlock ();
            }
        }
		public unsafe virtual void ToggleDrawerSide (MMDrawerSide drawerSide, bool animated, [BlockProxy (typeof (MonoTouch.ObjCRuntime.Trampolines.NIDAction))]global::System.Action completion)
		{
			if (completion == null)
				throw new ArgumentNullException ("completion");
			BlockLiteral *block_ptr_completion;
			BlockLiteral block_completion;
			block_completion = new BlockLiteral ();
			block_ptr_completion = &block_completion;
			block_completion.SetupBlock (Trampolines.SDAction.Handler, completion);
			
			if (IsDirectBinding) {
				ApiDefinitions.Messaging.void_objc_msgSend_int_bool_IntPtr (this.Handle, selToggleDrawerSideAnimatedCompletion_Handle, (int)drawerSide, animated, (IntPtr) block_ptr_completion);
			} else {
				ApiDefinitions.Messaging.void_objc_msgSendSuper_int_bool_IntPtr (this.SuperHandle, selToggleDrawerSideAnimatedCompletion_Handle, (int)drawerSide, animated, (IntPtr) block_ptr_completion);
			}
			block_ptr_completion->CleanupBlock ();
			
		}
示例#44
0
		public unsafe virtual void SetCallback (XMUtilityCallback callback)
		{
			if (callback == null)
				throw new ArgumentNullException ("callback");
			BlockLiteral *block_ptr_callback;
			BlockLiteral block_callback;
			block_callback = new BlockLiteral ();
			block_ptr_callback = &block_callback;
			block_callback.SetupBlock (static_InnerXMUtilityCallback, callback);
			
			if (IsDirectBinding) {
				MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr (this.Handle, selSetCallback_, (IntPtr) block_ptr_callback);
			} else {
				MonoTouch.ObjCRuntime.Messaging.void_objc_msgSendSuper_IntPtr (this.SuperHandle, selSetCallback_, (IntPtr) block_ptr_callback);
			}
			block_ptr_callback->CleanupBlock ();
			
		}
示例#45
0
		public VTStatus DecodeFrame (CMSampleBuffer sampleBuffer, VTDecodeFrameFlags decodeFlags,
			out VTDecodeInfoFlags infoFlags, VTDecompressionOutputHandler outputHandler)
		{
			if (Handle == IntPtr.Zero)
				throw new ObjectDisposedException ("DecompressionSession");
			if (sampleBuffer == null)
				throw new ArgumentNullException ("sampleBuffer");
			if (outputHandler == null)
				throw new ArgumentNullException ("outputHandler");

			unsafe {
				var block = new BlockLiteral ();
				var blockPtr = &block;
				block.SetupBlock (decompressionOutputHandlerTrampoline, outputHandler);

				try {
					return VTDecompressionSessionDecodeFrameWithOutputHandler (Handle,
						sampleBuffer.Handle, decodeFlags, out infoFlags, blockPtr);
				} finally {
					blockPtr->CleanupBlock ();
				}
			}
		}
	public unsafe virtual void ApiRequest (string url, string method, NSData body, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDActionArity1V0))]global::System.Action<global::LISDKAPIResponse> successCompletion, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDActionArity1V1))]global::System.Action<global::LISDKAPIError> errorCompletion)
	{
		if (url == null)
			throw new ArgumentNullException ("url");
		if (method == null)
			throw new ArgumentNullException ("method");
		if (body == null)
			throw new ArgumentNullException ("body");
		if (successCompletion == null)
			throw new ArgumentNullException ("successCompletion");
		if (errorCompletion == null)
			throw new ArgumentNullException ("errorCompletion");
		var nsurl = NSString.CreateNative (url);
		var nsmethod = NSString.CreateNative (method);
		BlockLiteral *block_ptr_successCompletion;
		BlockLiteral block_successCompletion;
		block_successCompletion = new BlockLiteral ();
		block_ptr_successCompletion = &block_successCompletion;
		block_successCompletion.SetupBlock (Trampolines.SDActionArity1V0.Handler, successCompletion);
		BlockLiteral *block_ptr_errorCompletion;
		BlockLiteral block_errorCompletion;
		block_errorCompletion = new BlockLiteral ();
		block_ptr_errorCompletion = &block_errorCompletion;
		block_errorCompletion.SetupBlock (Trampolines.SDActionArity1V1.Handler, errorCompletion);
		
		if (IsDirectBinding) {
			global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("apiRequest:method:body:success:error:"), nsurl, nsmethod, body.Handle, (IntPtr) block_ptr_successCompletion, (IntPtr) block_ptr_errorCompletion);
		} else {
			global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_IntPtr_IntPtr (this.SuperHandle, Selector.GetHandle ("apiRequest:method:body:success:error:"), nsurl, nsmethod, body.Handle, (IntPtr) block_ptr_successCompletion, (IntPtr) block_ptr_errorCompletion);
		}
		NSString.ReleaseNative (nsurl);
		NSString.ReleaseNative (nsmethod);
		block_ptr_successCompletion->CleanupBlock ();
		block_ptr_errorCompletion->CleanupBlock ();
		
	}
		public unsafe virtual void Show (bool animated, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDNSDispatchHandlerT))]NSDispatchHandlerT whileExecutingHandler, global::CoreFoundation.DispatchQueue queue, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDMBProgressHUDCompletionHandler))]MBProgressHUDCompletionHandler completionHandler)
		{
			if (whileExecutingHandler == null)
				throw new ArgumentNullException ("whileExecutingHandler");
			if (completionHandler == null)
				throw new ArgumentNullException ("completionHandler");
			BlockLiteral *block_ptr_whileExecutingHandler;
			BlockLiteral block_whileExecutingHandler;
			block_whileExecutingHandler = new BlockLiteral ();
			block_ptr_whileExecutingHandler = &block_whileExecutingHandler;
			block_whileExecutingHandler.SetupBlock (Trampolines.SDNSDispatchHandlerT.Handler, whileExecutingHandler);
			BlockLiteral *block_ptr_completionHandler;
			BlockLiteral block_completionHandler;
			block_completionHandler = new BlockLiteral ();
			block_ptr_completionHandler = &block_completionHandler;
			block_completionHandler.SetupBlock (Trampolines.SDMBProgressHUDCompletionHandler.Handler, completionHandler);
			
			if (IsDirectBinding) {
				ApiDefinition.Messaging.void_objc_msgSend_bool_IntPtr_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("showAnimated:whileExecutingBlock:onQueue:completionBlock:"), animated, (IntPtr) block_ptr_whileExecutingHandler, queue.Handle, (IntPtr) block_ptr_completionHandler);
			} else {
				ApiDefinition.Messaging.void_objc_msgSendSuper_bool_IntPtr_IntPtr_IntPtr (this.SuperHandle, Selector.GetHandle ("showAnimated:whileExecutingBlock:onQueue:completionBlock:"), animated, (IntPtr) block_ptr_whileExecutingHandler, queue.Handle, (IntPtr) block_ptr_completionHandler);
			}
			block_ptr_whileExecutingHandler->CleanupBlock ();
			block_ptr_completionHandler->CleanupBlock ();
			
		}
	public unsafe static void CreateSessionWithAuth (NSObject[] permissions, string state, bool showDialog, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAuthSuccessBlock))]global::AuthSuccessBlock successBlock, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAuthErrorBlock))]global::AuthErrorBlock erroBlock)
	{
		if (permissions == null)
			throw new ArgumentNullException ("permissions");
		if (successBlock == null)
			throw new ArgumentNullException ("successBlock");
		if (erroBlock == null)
			throw new ArgumentNullException ("erroBlock");
		var nsa_permissions = NSArray.FromNSObjects (permissions);
		var nsstate = NSString.CreateNative (state);
		BlockLiteral *block_ptr_successBlock;
		BlockLiteral block_successBlock;
		block_successBlock = new BlockLiteral ();
		block_ptr_successBlock = &block_successBlock;
		block_successBlock.SetupBlock (Trampolines.SDAuthSuccessBlock.Handler, successBlock);
		BlockLiteral *block_ptr_erroBlock;
		BlockLiteral block_erroBlock;
		block_erroBlock = new BlockLiteral ();
		block_ptr_erroBlock = &block_erroBlock;
		block_erroBlock.SetupBlock (Trampolines.SDAuthErrorBlock.Handler, erroBlock);
		
		global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_bool_IntPtr_IntPtr (class_ptr, Selector.GetHandle ("createSessionWithAuth:state:showGoToAppStoreDialog:successBlock:errorBlock:"), nsa_permissions.Handle, nsstate, showDialog, (IntPtr) block_ptr_successBlock, (IntPtr) block_ptr_erroBlock);
		nsa_permissions.Dispose ();
		NSString.ReleaseNative (nsstate);
		block_ptr_successBlock->CleanupBlock ();
		block_ptr_erroBlock->CleanupBlock ();
		
	}
示例#49
0
 private static void Hijack(NSObject obj, string selector, ref IntPtr originalImpl, CaptureBooleanDelegate captureDelegate)
 {
     var method = class_getInstanceMethod (obj.ClassHandle, new Selector (selector).Handle);
       originalImpl = method_getImplementation (method);
       if(originalImpl != IntPtr.Zero) {
     var block_value = new BlockLiteral();
     block_value.SetupBlock(captureDelegate, null);
     var imp = imp_implementationWithBlock(ref block_value);
     method_setImplementation(method, imp);
       }
 }
示例#50
0
        public unsafe virtual void HideToolbar(bool animated, PSPDFAnnotationToolbarCompletionDel completionBlock)
        {
            if (completionBlock == null)
            {
                MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_bool_IntPtr (this.Handle, Selector.GetHandle ("hideToolbarAnimated:completion:"), animated, IntPtr.Zero );
                return;
            }

            BlockLiteral *block_ptr_completionBlock;
            BlockLiteral block_completionBlock;
            block_completionBlock = new BlockLiteral ();
            block_ptr_completionBlock = &block_completionBlock;
            block_completionBlock.SetupBlock (static_InnerPSPDFAnnotationToolbarCompletionDel, completionBlock);

            MonoTouch.ObjCRuntime.Messaging.void_objc_msgSend_bool_IntPtr (this.Handle, Selector.GetHandle ("hideToolbarAnimated:completion:"), animated, (IntPtr) block_ptr_completionBlock);
            block_ptr_completionBlock->CleanupBlock ();
        }
	public unsafe virtual void GetRequest (string url, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDActionArity1V0))]global::System.Action<global::LISDKAPIResponse> success, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDActionArity1V1))]global::System.Action<global::LISDKAPIError> error)
	{
		if (url == null)
			throw new ArgumentNullException ("url");
		if (success == null)
			throw new ArgumentNullException ("success");
		if (error == null)
			throw new ArgumentNullException ("error");
		var nsurl = NSString.CreateNative (url);
		BlockLiteral *block_ptr_success;
		BlockLiteral block_success;
		block_success = new BlockLiteral ();
		block_ptr_success = &block_success;
		block_success.SetupBlock (Trampolines.SDActionArity1V0.Handler, success);
		BlockLiteral *block_ptr_error;
		BlockLiteral block_error;
		block_error = new BlockLiteral ();
		block_ptr_error = &block_error;
		block_error.SetupBlock (Trampolines.SDActionArity1V1.Handler, error);
		
		if (IsDirectBinding) {
			global::ApiDefinition.Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("getRequest:success:error:"), nsurl, (IntPtr) block_ptr_success, (IntPtr) block_ptr_error);
		} else {
			global::ApiDefinition.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr_IntPtr (this.SuperHandle, Selector.GetHandle ("getRequest:success:error:"), nsurl, (IntPtr) block_ptr_success, (IntPtr) block_ptr_error);
		}
		NSString.ReleaseNative (nsurl);
		block_ptr_success->CleanupBlock ();
		block_ptr_error->CleanupBlock ();
		
	}
示例#52
0
		public VTStatus EncodeFrame (CVImageBuffer imageBuffer, CMTime presentationTimestamp, CMTime duration,
			NSDictionary frameProperties, IntPtr sourceFrame, out VTEncodeInfoFlags infoFlags,
			VTCompressionOutputHandler outputHandler)
		{
			if (Handle == IntPtr.Zero)
				throw new ObjectDisposedException ("CompressionSession");
			if (imageBuffer == null)
				throw new ArgumentNullException ("imageBuffer");
			if (outputHandler == null)
				throw new ArgumentNullException ("outputHandler");

			unsafe {
				var block = new BlockLiteral ();
				var blockPtr = &block;
				block.SetupBlock (compressionOutputHandlerTrampoline, outputHandler);

				try {
					return VTCompressionSessionEncodeFrameWithOutputHandler (Handle,
						imageBuffer.Handle, presentationTimestamp, duration,
						frameProperties == null ? IntPtr.Zero : frameProperties.Handle,
						out infoFlags, blockPtr);
				} finally {
					blockPtr->CleanupBlock ();
				}
			}
		}
		public unsafe virtual void SetCenterViewController (global::MonoTouch.UIKit.UIViewController centerViewController, bool closeAnimated, [BlockProxy (typeof (MonoTouch.ObjCRuntime.Trampolines.NIDAction))]global::System.Action completion)
		{
			if (centerViewController == null)
				throw new ArgumentNullException ("centerViewController");
			if (completion == null)
				throw new ArgumentNullException ("completion");
			BlockLiteral *block_ptr_completion;
			BlockLiteral block_completion;
			block_completion = new BlockLiteral ();
			block_ptr_completion = &block_completion;
			block_completion.SetupBlock (Trampolines.SDAction.Handler, completion);
			
			if (IsDirectBinding) {
				ApiDefinitions.Messaging.void_objc_msgSend_IntPtr_bool_IntPtr (this.Handle, selSetCenterViewControllerWithCloseAnimationCompletion_Handle, centerViewController.Handle, closeAnimated, (IntPtr) block_ptr_completion);
			} else {
				ApiDefinitions.Messaging.void_objc_msgSendSuper_IntPtr_bool_IntPtr (this.SuperHandle, selSetCenterViewControllerWithCloseAnimationCompletion_Handle, centerViewController.Handle, closeAnimated, (IntPtr) block_ptr_completion);
			}
			block_ptr_completion->CleanupBlock ();
			
		}
示例#54
0
        public void EnumerateCaretOffsets(CaretEdgeEnumerator enumerator)
        {
            if (enumerator == null)
                throw new ArgumentNullException ("enumerator");
                        unsafe {
                                BlockLiteral *block_ptr_handler;
                                BlockLiteral block_handler;
                                block_handler = new BlockLiteral ();
                                block_ptr_handler = &block_handler;
                                block_handler.SetupBlock (static_enumerate, enumerator);

                                CTLineEnumerateCaretOffsets (handle, block_ptr_handler);
                                block_ptr_handler->CleanupBlock ();
                        }
        }