public unsafe virtual NSUrlSessionTask GenerateTokenForApplePay(global::PassKit.PKPayment payment, [BlockProxy(typeof(ObjCRuntime.Trampolines.NIDActionArity2V1))] global::System.Action <NSString, NSError> completion) { if (payment == null) { throw new ArgumentNullException("payment"); } 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.SetupBlockUnsafe(Trampolines.SDActionArity2V1.Handler, completion); NSUrlSessionTask ret; if (IsDirectBinding) { ret = Runtime.GetNSObject <NSUrlSessionTask> (global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(this.Handle, Selector.GetHandle("generateTokenForApplePay:completion:"), payment.Handle, (IntPtr)block_ptr_completion)); } else { ret = Runtime.GetNSObject <NSUrlSessionTask> (global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(this.SuperHandle, Selector.GetHandle("generateTokenForApplePay:completion:"), payment.Handle, (IntPtr)block_ptr_completion)); } block_ptr_completion->CleanupBlock(); return(ret); }
public WDApplePayPayment(global::PassKit.PKPayment payment, global::PassKit.PKPaymentSummaryItem[] summaryItems, string currency, WDTransactionType transactionType) : base(NSObjectFlag.Empty) { if (payment == null) { throw new ArgumentNullException("payment"); } if (summaryItems == null) { throw new ArgumentNullException("summaryItems"); } if (currency == null) { throw new ArgumentNullException("currency"); } var nsa_summaryItems = NSArray.FromNSObjects(summaryItems); var nscurrency = NSString.CreateNative(currency); IsDirectBinding = GetType().Assembly == global::ApiDefinition.Messaging.this_assembly; if (IsDirectBinding) { if (IntPtr.Size == 8) { InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_Int64(this.Handle, Selector.GetHandle("initWithPayment:summaryItems:currencyString:transactionType:"), payment.Handle, nsa_summaryItems.Handle, nscurrency, (Int64)transactionType), "initWithPayment:summaryItems:currencyString:transactionType:"); } else { InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_int(this.Handle, Selector.GetHandle("initWithPayment:summaryItems:currencyString:transactionType:"), payment.Handle, nsa_summaryItems.Handle, nscurrency, (int)transactionType), "initWithPayment:summaryItems:currencyString:transactionType:"); } } else { if (IntPtr.Size == 8) { InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_Int64(this.SuperHandle, Selector.GetHandle("initWithPayment:summaryItems:currencyString:transactionType:"), payment.Handle, nsa_summaryItems.Handle, nscurrency, (Int64)transactionType), "initWithPayment:summaryItems:currencyString:transactionType:"); } else { InitializeHandle(global::ApiDefinition.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_int(this.SuperHandle, Selector.GetHandle("initWithPayment:summaryItems:currencyString:transactionType:"), payment.Handle, nsa_summaryItems.Handle, nscurrency, (int)transactionType), "initWithPayment:summaryItems:currencyString:transactionType:"); } } nsa_summaryItems.Dispose(); NSString.ReleaseNative(nscurrency); }