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(); }
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(); }
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(); }
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(); }
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(); }
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 = █ void_objc_msgSend_IntPtr_IntPtr(Handle, sel, (IntPtr)ptr, key.Handle); }
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(); } }
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(); }
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(); }
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; }
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(); }
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(); } } }
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); } }
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(); }
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.SetupBlock(compressionOutputHandlerTrampoline, outputHandler); try { return(VTCompressionSessionEncodeFrameWithOutputHandler(Handle, imageBuffer.Handle, presentationTimestamp, duration, frameProperties == null ? IntPtr.Zero : frameProperties.Handle, out infoFlags, blockPtr)); } finally { blockPtr->CleanupBlock(); } } }
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.SetupBlock(decompressionOutputHandlerTrampoline, outputHandler); try { return(VTDecompressionSessionDecodeFrameWithOutputHandler(Handle, sampleBuffer.Handle, decodeFlags, out infoFlags, blockPtr)); } finally { blockPtr->CleanupBlock(); } } }
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(); }
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 (); } }
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 (); } } }
unsafe void SetupBlockUnoptimized(Action callback) { BlockLiteral block = new BlockLiteral(); block.SetupBlock(block_callback, callback); Bindings.Test.CFunctions.x_call_block(ref block); block.CleanupBlock(); }
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(); }
void SetupBlockOptimized_CallVirtualMethod(Action callback) { // calli BlockLiteral block = new BlockLiteral(); block.SetupBlock(GetBlockCallbackInstance(), callback); Bindings.Test.CFunctions.x_call_block(ref block); block.CleanupBlock(); }
void SetupBlockOptimized_CallStaticMethod(Action callback) { // call BlockLiteral block = new BlockLiteral(); block.SetupBlock(GetBlockCallbackStatic(), callback); Bindings.Test.CFunctions.x_call_block(ref block); block.CleanupBlock(); }
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(); }
// // 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.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 (); }
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 (); }
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 (); }
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.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 (); }
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); } }
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 (); }
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.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 (); }
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 (); } }