public void Main(Spi spi, SpiPayAtTable pat, Int32 cBTxStatePtr, Int32 cBPairingFlowStatePtr, Int32 cBsecretsPtr, Int32 cBStatusPtr, Int32 cBPayAtTableGetBillDetailsPtr, Int32 cBPayAtTableBillPaymentReceivedPtr) { _spi = spi; // It is ok to not have the secrets yet to start with. _pat = pat; ptr = new IntPtr(cBTxStatePtr); callBackTxState = (CBTxFlowStateChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBTxFlowStateChanged)); ptr = new IntPtr(cBPairingFlowStatePtr); callBackPairingFlowState = (CBPairingFlowStateChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBPairingFlowStateChanged)); ptr = new IntPtr(cBsecretsPtr); callBackSecrets = (CBSecretsChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBSecretsChanged)); ptr = new IntPtr(cBStatusPtr); callBackStatus = (CBSpiStatusChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBSpiStatusChanged)); ptr = new IntPtr(cBPayAtTableGetBillDetailsPtr); callBackPayAtTableGetBillStatus = (CBPayAtTableGetBillStatus)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBPayAtTableGetBillStatus)); ptr = new IntPtr(cBPayAtTableBillPaymentReceivedPtr); callBackPayAtTableBillPaymentReceived = (CBPayAtTableBillPaymentReceived)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBPayAtTableBillPaymentReceived)); _spi.StatusChanged += OnSpiStatusChanged; _spi.PairingFlowStateChanged += OnPairingFlowStateChanged; _spi.SecretsChanged += OnSecretsChanged; _spi.TxFlowStateChanged += OnTxFlowStateChanged; _pat.GetBillStatus = OnPayAtTableGetBillStatus; _pat.BillPaymentReceived = OnPayAtTableBillPaymentReceived; }
public void Main(Spi spi, Int32 cBTxStatePtr, Int32 cBPairingFlowStatePtr, Int32 cBsecretsPtr, Int32 cBStatusPtr) { _spi = spi; // It is ok to not have the secrets yet to start with. ptr = new IntPtr(cBTxStatePtr); callBackTxState = (CBTxFlowStateChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBTxFlowStateChanged)); ptr = new IntPtr(cBPairingFlowStatePtr); callBackPairingFlowState = (CBPairingFlowStateChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBPairingFlowStateChanged)); ptr = new IntPtr(cBsecretsPtr); callBackSecrets = (CBSecretsChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBSecretsChanged)); ptr = new IntPtr(cBStatusPtr); callBackStatus = (CBSpiStatusChanged)Marshal.GetDelegateForFunctionPointer(ptr, typeof(CBSpiStatusChanged)); _spi.StatusChanged += OnSpiStatusChanged; _spi.PairingFlowStateChanged += OnPairingFlowStateChanged; _spi.SecretsChanged += OnSecretsChanged; _spi.TxFlowStateChanged += OnTxFlowStateChanged; }