public static Error UpdateTables(Mpos mpos, MposTablesLoadedCallbackDelegate tableCallback, Aid[] aidList, Capk[] capkList) { return(Dll.UpdateTables( mpos.nativeMpos, mpos.TMSStorage.GetGlobalVersion(), true, tableCallback, aidList, capkList )); }
public Error UpdateTables(IntPtr mpos, string version, bool forceUpdate, MposTablesLoadedCallbackDelegate callback, IList[] dataList) { return(Convert(dataList, (data, count) => { return UpdateTablesExtern(mpos, data, count, version, forceUpdate, callback); })); }
public static MposGetTableVersionCallbackDelegate Callback(Mpos mpos, MposTablesLoadedCallbackDelegate tableCallback, int amount, PaymentMethod magstripePaymentMethod, TaskCompletionSource <PaymentResult> source) { return(GCHelper.ManualFree <MposGetTableVersionCallbackDelegate>(releaseGC => { return (mposPtr, err, version) => { releaseGC(); return callback(mpos, tableCallback, version); }; })); }
private static Error callback(Mpos mpos, MposTablesLoadedCallbackDelegate tableCallback, String version) { if (!mpos.TMSStorage.GetGlobalVersion().StartsWith(version)) { var aidEntries = mpos.TMSStorage.GetAidRows(); var capkEntries = mpos.TMSStorage.GetCapkRows(); var aidList = aidEntries.Select(a => new Aid(a)).ToArray(); var capkList = capkEntries.Select(c => new Capk(c)).ToArray(); var updateError = UpdateTables(mpos, tableCallback, aidList, capkList); if (updateError != Error.Ok) { throw new MposException(updateError); } } else { tableCallback(mpos.nativeMpos, 0, false); } return(Error.Ok); }
public static extern Error UpdateTablesExtern(IntPtr mpos, IntPtr data, int count, string version, bool forceUpdate, MposTablesLoadedCallbackDelegate callback);