Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
void OnError(
ErrorType error,
String details);void OnConnected(String deviceAddress);void OnDisconnected(String deviceAddress);MTUSDK.aarConnectionType.String ConnectionInfo.getAddress();ConnectionType ConnectionInfo.getConnectionType();DeviceType ConnectionInfo.getDeviceType();FF01 — var — Apple VAS Container Slot 1 Containerpublic class OnEventClass implements IEventSubscriber
{
public void OnEvent(EventType eventType, IData data)
{
// Event handler
}
}
OnEventClass eventCallBack = new OnEventClass();
device.subscribeAll(evenCallBack);public partial class MainWindow implements IEventSubscriber
{
public void OnEvent(EventType eventType, IData data)
{
// Event handler
}
public void connectDevice()
{
device.subscribeAll(this);
}
}public void OnEvent(EventType eventType, IData data)
{
// Barcode data BarCodeData barcodeData =
BarCodeDataBuilder.GetBarCodeData(DeviceType.MMS, data.ByteArray());
// Input request
InputRequest ir = new InputRequest(data.ByteArray());
// NFC data
NFCData nfcData = NFCDataBuilder.GetNFCData(DeviceType.MMS, data.ByteArray());
// Enhanced input request
EnhancedInputRequest eir = new
EnhancedInputRequest(data.ByteArray());
List<DirectoryEntry> deList = eir.EnhancedSelectionList;
}boolean IDeviceCapabilities.Display();boolean IDeviceCapabilities.MSRPowerSaver();List<PaymentMethod> IDeviceCapabilities.PaymentMethods();boolean IDeviceCapabilities.PINPad();boolean IDeviceCapabilities.Signature();boolean IDeviceCapabilities.SRED();IResult OnCalculateMAC(
byte macType,
byte[] data);public void OnResult(
StatusCode status,
byte[] data);class OnConfigCallbackClass implements IConfigurationCallBack
{
public IResult OnCalculateMAC(byte macType, byte[] data)
{
// Event handler
}
public void OnProgress(int progress)
{
// Event handler
}
public void OnResult(StatusCode status, byte[] data)
{
// Event handler
}
}
OnConfigCallbackClass configCallBack = new OnConfigCallbackClass();int IDeviceConfiguration.deleteFile(byte[] fileID);byte[] IDeviceConfiguration.getChallengeToken(byte[] data);byte[]IDeviceConfiguration.getConfigInfo(
byte configType,
byte[] data);String IDeviceConfiguration.getDeviceInfo(InfoType infoType);int IDeviceConfiguration.getFile( byte[] fileID, IConfigurationCallback callback);byte[]IDeviceConfiguration.getKeyInfo(
byte keyType,
byte[] data);int IDeviceConfiguration.sendFile(
byte[] fileID,
byte[] data, IConfigurationCallback callback);int IDeviceConfiguration.sendImage(
byte imageID,
byte[] data,
IConfigurationCallback callback);int IDeviceConfiguration.sendSecureFile(
byte[] fileID,
byte[] data, IConfigurationCallback callback);int IDeviceConfiguration.setConfigInfo(
byte configType,
byte[] data, IConfigurationCallback callback);int IDeviceConfiguration.setDisplayImage(byte imageID);int IDeviceConfiguration.updateFirmware(
ushort firmwareType,
byte[] data,
IConfigurationCallback callback);int IDeviceConfiguration.updateKeyInfo(
byte keyType,
byte[] data,
IConfigurationCallback callback);public enum StatusCode
{
SUCCESS = 0,
TIMEOUT = 1,
ERROR = 2,
UNAVAILABLE = 3
}IDevice CoreAPI.createDevice(
Context context,
DeviceType deviceType,
ConnectionType connectionType,
String address,
String model, String name, String serial,
CertificateInfo certificateInfo);MMXDevice CoreAPI.createMMSDevice( Context context, IMMXDeviceAdapter deviceAdapter);MTPPSCRA CoreAPI.createPPSCRA(Context context, Handler handler);MTSCRA CoreAPI.createPPSCRA(Context context, Handler handler);List<IDevice> CoreAPI.getDeviceList(
Context context,
IDeviceListCallback deviceListCallback);
List<IDevice> CoreAPI.getDeviceList(
Context context,
DeviceType deviceType,
IDeviceListCallback deviceListCallback);
List<IDevice> CoreAPI.getDeviceList(
Context context,
List<DeviceType> deviceTypes,
IDeviceListCallback deviceListCallback);int CoreAPI.getAPIVersion();void setMQTTBrokerInfo(String uri);
void setMQTTBrokerInfo(
String uri,
String username = null,
String password = null);void setMQTTClientID(String clientID);void setMQTTClientCertificateInfo(CertificateInfo certificateInfo);void setMQTTDeviceDiscoveryTimeout(int timeout);subscribe topic = “MagTek/Server/DynaFlexIIPED” monitored subscription = “MagTek/Server/DynaFlexIIPED/#”.<DeviceAddress>=“MagTek/Server/DynaFlexIIPED/B51E72D”void startMQTTDeviceStatusMonitoring(
IMQTTDeviceStatusCallback callback); “<basetopic>/<DeviceID>/MMSMessage”.void setMQTTPublishTopic(String topic);void setMQTTQos(int qos);void setMQTTSubscribeTopic(String topic);void stopMQTTDeviceStatusMonitoring();void setSystemStatusCallback(ISystemStatusCallback callback);// Access MMS with Universal SDK using createDevice()
IDevice mtmms = CoreAPI.createDevice(
context,
DeviceType.MMS,
ConnectionType.USB, "",
"",
"DynaFlex",
"");
mtmms.requestSignature();// Acess MMS with Universal SDK using getDeviceList()
List<IDevice> mtmms = CoreAPI.getDeviceList(
context,
DeviceType.MMS,
deviceListCallback);
mtmms[0].requestSignature();import com.magtek.mobile.android.mtusdk.*;
// Extend the main window to receive events.
public class MainWindow implements IEventSubscriber,
IConfigurationCallback
{
// Establish a device from CoreAPI. List<IDevice> deviceList = CoreAPI.getDeviceList(
context,
deviceListCallbac);
IDevice device = deviceList[0];
/* For a list of a single device type. DeviceType deviceType = DeviceType.MMS;
List<IDevice> deviceList = CoreAPI.getDeviceList(
context,
deviceType deviceListCallback);
IDevice device = deviceList[0];
*/
/* For a list of multiple device types.
List<DeviceType> deviceTypes = null;
deviceTypes.Add(DeviceType.MMS);
deviceTypes.Add(DeviceType.CMS);
List<IDevice> deviceList = CoreAPI.getDeviceList(
context,
deviceTypes,
deviceListCallback);
IDevice device = deviceList[0];
*/
/* Suscribe to events sent from the device.
These would be but not limited to: card inserted, card removed, connection state...
Set MainWindow to receive the events. */
boolean return = device.unsubscribeAll(this);
boolean return = device.subscribeAll(this);
/* To handle events from some other class.
EventsVector eventsVector = new EventsVector()
boolean return = device.unsubscribeAll(eventsVector);
boolean return = device.subscribeAll(eventsVector);
*/
// Assign parameters for the transaction.
List<PaymentMethod> paymentMethod = new List<PaymentMethod>();
paymentMethod.Add(PaymentMethod.MSR);
paymentMethod.Add(PaymentMethod.Contact);
paymentMethod.Add(PaymentMethod.Contactless);
Transaction transaction = new Transaction();
transaction.setAmount(“1.00”);
transaction.setCashBack(“0.00”);
transaction.setEMVOnly(true);
transaction.setPaymentMethods(paymentMethod);
transaction.setQuickChip(false);
// Start transaction.
boolean result = device.startTransaction(transaction);PersonalInfoEntry PersonalInfoEntryBuilder.GetPersonalInfoEntry(
DeviceType deviceType,
byte[] dataBytes);
new PersonalInfoEntry(
byte[] data,
CaptureType dataType,
bool encrypted,
);
new PersonalInfoEntry(
byte[] data,
CaptureType dataType,
bool encrypted,
byte encryptionType,
byte[] ksn
);// A class to handle events.
public class EventsVector implements IEventSubscriber
{
public void OnEvent(EventType eventType, IData data)
{
switch (eventType)
{case ConnectionState:
// Parse for the ConnectionState ConnectionState value =
ConnectionStateBuilder.GetValue(data.StringValue());
break;case DeviceResponse:
break;case DeviceExtendedResponse:
break;case DeviceNotification:
break;case CardData:
break;case TransactionStatus:
// Parse for the transaction status code and detail.
TransactionStatus status =
TransactionStatusBuilder.GetStatusCode(data.StringValue());
string statusDetail = TransactionStatusBuilder.GetStatusDetail(data.StringValue());
break;case DisplayMessage:
String message;
// Get the message. if (data != null)
{
message = System.Text.Encoding.UTF8.GetString(data);
}
break;case InputRequest:
break;case AuthorizationRequest:
// Forward ARQC to processor.
/* data[0..1] – ARQC length
data[2..n] – remainder contains the ARQC TLV object
*/
IData processorARPC = new
BaseData(sendForAuthorization(data.ByteArray()));
// Send authorization to device when not in QuickChip mode.
if (transaction.QuickChip == false)
{
device.sendAuthorization(procesorARPC.ByteArray());
}
break;case TransactionResult
/* data[0] – Signature Required
data[1..2] – Batch Data length
data[3..n] – remainder contains the Batch Data TLV object
*/
// Parse the TLV from data[].
.
// Abstract Approval status from TLV tag “DFDF1A”.
.
// Abstract Signature Required status from TLV tag data[0].
.
break;case PINBlock:
break;case Signature:
break;// Establish a device from CoreAPI.
List<IDevice> deviceList = CoreAPI.getDeviceList(); IDevice device = deviceList[0];
// Establish a deviceControl from device.
IDeviceControl deviceControl = device.getDeviceControl();
// Open the device, then use the IDeviceControl functions. deviceControl.open();
. . .
// Close the device. deviceControl.close();// Establish a device from CoreAPI.
List<IDevice> deviceList = CoreAPI.getDeviceList();
IDevice device = deviceList[0];
// Establish a ConnectionInfo from device.
ConnectionInfo connectionInfo = device.getConnectionInfo();
// Retrieve address, connectionType, and deviceType.
String address = connectionInfo.getAddress();
ConnectionType connectionType = connectionInfo.getConnectionType();
DeviceType deviceType = connectionInfo.getDeviceType(); // Establish a device from CoreAPI.
List<IDevice> deviceList = CoreAPI.getDeviceList();
IDevice device = deviceList[0];
// Establish a IDeviceCapabilities from device.
IDeviceCapabilities capabilities = device.getCapabilities();
// Retrieve device capabilities.
boolean batteryBackedClock = capabilities.BatteryBackedClock();
if (batteryBackedClock)
{
// Call IDeviceControl.setDateTime().
}
// Retrieve supported card payment methods.
List<PaymentMethod> paymentMethods = capabilities.PaymentMethods();
. . .// Establish a device from CoreAPI.
List<IDevice> deviceList = CoreAPI.getDeviceList();
IDevice device = deviceList[0];
IDeviceConfiguration deviceConfiguration =
device.getDeviceConfiguration();
/* To handle events from some other class. ConfigCallBacks
configCallBacks = new ConfigCallBacks();
*/
// Update firmware.
byte[] data = getDataFromURI(uri);
int return = deviceConfiguration.updateFirmware(1, data, this);
/* Get configuration.
Device-Driven Fallback OID = 1.2.1.1.1.1
contructed OID = E2 08 E1 06 E1 04 E1 02 C1 00
Note: first digit of OID is ommited in the construction and instead is passed in the configType.
*/
byte configType = 0x01;
data = new byte[] {0xE2,0x08,0xE1,0x06,0xE1,0x04,0xE1,0x02,0xC1,0x00
};
byte[] response = devConfig.getConfigInfo(configType, data);
/* Set configuation.
Device-Driven Fallback OID is 1.2.1.1.1.1
Disabled contructed OID = E2 09 E1 07 E1 05 E1 03 C1 01 00
Enabled contructed OID = E2 09 E1 07 E1 05 E1 03 C1 01 01
Note: first digit of OID is ommited in the construction and instead
is passed in the configType.
*/
data = new byte[]
{0xE2,0x09,0xE1,0x07,0xE1,0x05,0xE1,0x03,0xC1,0x01,0x00 };
result = devConfig.getConfigInfo(configType, data);// A class to handle configuration callback events.
public class ConfigCallbacks implements IConfigurationCallback
{
public void OnProgress(int progress)
{
/* Handle progress.
Progress is complete when progress = 100 */
}public void OnResult(StatusCode status, byte[] data)
{
/* Handle result.
A configuration process is complete when
status = StatusCode.Success */
}public IResult OnCalculateMAC(byte macType, byte[] data)
{
IResult result = new Result(StatusCode.UNAVAILABLE);
byte[] macBytes = null;
DeviceType deviceType =
device.getConnection Info().getDeviceType();
switch (deviceType)
{
case DeviceType.MMS:
macBytes = getDynaFlexMAC(macType, data);
break;
}
if (macBytes != null)
{
result = new Result(StatusCode.SUCCESS);
result.Data = new BaseData(macBytes);
}
return result;
}
}NFCData NFCDataBuilder.GetNFCData(deviceType, byte[] dataBytes);
new NFCData(byte[] Data, boolean Encrypted);
new NFCData(
byte[] Data,
boolean Encrypted,
byte EncryptionType,
byte[] KSN
);NFCRAPDUData NFCRAPDU(
byte[] response,
byte[] data,
boolean encrypted,
);
NFCRAPDUData NFCRAPDU(
byte[] response,
byte[] data,
bool encrypted,
byte encryptionType,
byte[] ksn
);
NFCRAPDUData NFCDataBuilder.GetNFCRAPDUData(
DeviceType deviceType,
byte[] dataBytes,
);PersonalInfoEntry PersonalInfoEntryBuilder.GetPersonalInfoEntry(
DeviceType deviceType,
byte[] dataBytes);
new PersonalInfoEntry(
byte[] data,
CaptureType dataType,
bool encrypted,
);
new PersonalInfoEntry(
byte[] data,
CaptureType dataType,
bool encrypted,
byte encryptionType,
byte[] ksn
);// Assign parameters.
List<PaymentMethod> paymentMethod = new List<PaymentMethod>();
paymentMethod.Add(PaymentMethod.MSR);
paymentMethod.Add(PaymentMethod.Contact);
paymentMethod.Add(PaymentMethod.Contactless);
Transaction transaction = new Transaction();
transaction.setAmount(“1.00”);
transaction.setCashBack(“0.00”);
transaction.setEMVOnly(true);
transaction.setPaymentMethods(paymentMethod);
transaction.setQuickChip(true); // QuickChip mode enabled.
// Start transaction.
boolean result = device.startTransaction(transaction);public void OnEvent(EventType eventType, IData data)
{
String message
switch (eventType);
{
case EventType.DisplayMessage:
// Get the message.
message = data.StringValue();
}
}public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.InputRequest:
// Get the message.
message = data.StringValue();
// display/retrieve user selection.
// set status and selection result.
IData selectionData = new BaseData(new Byte[] {status, selection});
device.sendSelection(selectionData);
}
}public void OnEvent(EventType eventType, IData data)
{
byte[] ARQC = null;
switch (eventType);
{
case EventType.AuthorizationRequest:
// Forward ARQC to processor.
/* data[0..1] – ARQC length
data[2..n] – remainder contains the ARQC TLV object */
}
}public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.TransactionResult:
/* data[0] – Signature Required
data[1..2] – Batch Data length
data[3..n] – remainder contains the Batch Data TLV object
*/
// Parse the TLV from data[].
// Abstract Approval status from TLV tag “DFDF1A”.
// Abstract Signature Required status from TLV tag data[0].
}
}// Assign parameters.
List<PaymentMethod> paymentMethod = new List<PaymentMethod>();
paymentMethod.Add(PaymentMethod.MSR);
paymentMethod.Add(PaymentMethod.Contact);
paymentMethod.Add(PaymentMethod.Contactless);
Transaction transaction = new Transaction();
transaction.setAmount(“1.00”);
transaction.setCashBack(“0.00”);
transaction.setEMVOnly(true);
transaction.setPaymentMethods(paymentMethod);
transaction.setQuickChip(true);
// Start transaction.
boolean result = device.startTransaction(transaction);public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.DisplayMessage:
// Get the message.
message = data.StringValue();
}
}public void OnEvent(EventType eventType, IData data)
{
byte[] ARQC = null;
switch (eventType);
{
case EventType.AuthorizationRequest:
// #4a
// Forward ARQC to processor.
/* data[0..1] – ARQC length
data[2..n] – remainder contains the ARQC TLV object */
}
}public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.DisplayMessage:
// Display approval message.
message = data.StringValue();
// A data size of 0 is an instruction to clear the display.
if (data.StringValue().Length == 0)
{
// Clear the UI display.
}
}
}public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.TransactionResult:
/* data[0] – Signature Required
data[1..2] – Batch Data length
data[3..n] – remainder contains the Batch Data TLV object
*/
// Parse the TLV from data[].
// Abstract Approval status from TLV tag “DFDF1A”.
// Abstract Signature Required status from TLV tag data[0].
}
}public void OnEvent(EventType eventType, IData data)
{
String signature;
switch (eventType);
{
case EventType.Signature:
signature = data.StringValue();
}
}// Assign parameters.
List<PaymentMethod> paymentMethod = new List<PaymentMethod>();
paymentMethod.Add(PaymentMethod.MSR);
paymentMethod.Add(PaymentMethod.Contact);
paymentMethod.Add(PaymentMethod.Contactless);
Transaction transaction = new Transaction();
transaction.setAmount(“1.00”);
transaction.setCashBack(“0.00”);
transaction.setEMVOnly(true);
transaction.setPaymentMethods(paymentMethod);
transaction.setQuickChip(false); //QuickChip mode disabled.
// Start transaction.
boolean result = device.startTransaction(transaction);public void OnEvent(EventType eventType, IData data)
{
string message;
switch (eventType);
{
case EventType.DisplayMessage:
// Get the message.
message = data.StringValue;
}
}public void OnEvent(EventType eventType, IData data)
{
string message;
switch (eventType);
{
case EventType.InputRequest:
// Get the message.
message = data.StringValue;
// display/retrieve user selection.
// set status and selection result.
IData selectionData = new BaseData(new Byte[] {status, selection});
device.sendSelection(selectionData);
}
}public void OnEvent(EventType eventType, IData data)
{
byte[] ARQC = null;
switch (eventType);
{
case EventType.AuthorizationRequest:
// Forward the ARQC to the processor.
/* data[0..1] – ARQC length
data[2..n] – remainder contains the ARQC TLV object */
ARQC.ByteArray = data.ByteArray;
// App function to send the request to the processor.
ARPC = sendARQCToProcessorForApproval(ARQC.ByteArray());
}
}String ARPC = “8A3030”;
IData ARPCTLV = new BaseData(“FF7413DFDF250742363243413546FA067004” + ARPC);
device.sendAuthorization(ARPCTLV);public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.DisplayMessage:
// Display approval message.
message = data.StringValue();
// A data size of 0 is an instruction to clear the display.
if (data.StringValue().Length == 0)
{
// Clear the UI display.
}
}
}public void OnEvent(EventType eventType, IData data)
{
String message;
switch (eventType);
{
case EventType.TransactionResult:
/* data[0] – Signature Required
data[1..2] – Batch Data length
data[3..n] – remainder contains the Batch Data TLV object
*/
// Parse the TLV from data[].
// Abstract Approval status from TLV tag “DFDF1A”.
// Abstract Signature Required status from TLV tag data[0].
}
}public void OnEvent(EventType eventType, IData data)
{
String signature;
switch (eventType);
{
case EventType.Signature:
signature = data.StringValue();
}
}boolean IDevice.cancelTransaction();IDeviceCapabilities IDevice.getCapabilities();ConnectionInfo IDevice.getConnectionInfo();ConnectionState IDevice.getConnectionState();IDeviceConfiguration IDevice.getDeviceConfiguration();IDeviceControl IDevice.getDeviceControl();DeviceInfo IDevice.getDeviceInfo();boolean IDevice.requestPAN(PANRequest panRequest, PINRequest pinRequest);boolean IDevice.requestPIN(PINRequest pinRequest);boolean IDevice.requestSignature();boolean IDevice.sendAuthorization(IData data);boolean IDevice.sendClasicNFCCommand(
IData data,
boolean lastCommand,
boolean encrypt);81 0100 (Tag Respons Code)
82 82036D (Encryption Control)
FC 820369 (NFC Data Container) DF7A 820364 (NFC Data)
031391010F55047777772E6D616774656B2E636F6DFE00. . .
www.magtek.com81 0100 (Tag Response code)
82 820389 (Encryption Control)
DFDF59 820370 (Encrypted Data Primitive)
03679DC03B4CA607E3A7D2B52C8E9F1B5CD3D85E7368425. . .
DFDF50 0A (Encrypted Data KSN)
FFFF9876543210200047
DFDF51 01 (Encrypted Data Type)
80boolean IDevice.sendDESFireNFCCommand(
IData data,
boolean lastCommand,
boolean encrypt);81 0100 (Tag Respons Code)
82 82036D (Encryption Control)
FC 820369 (NFC Data Container)
DF7A 820364 (NFC Data)
031391010F55047777772E6D616774656B2E636F6DFE00. . .
www.magtek.com81 0100 (Tag Response code)
82 820389 (Encryption Control)
DFDF59 820370 (Encrypted Data Primitive)
03679DC03B4CA607E3A7D2B52C8E9F1B5CD3D85E7368425. . .
DFDF50 0A (Encrypted Data KSN)
FFFF9876543210200047
DFDF51 01 (Encrypted Data Type)
80boolean IDevice.sendPlusNFCCommand(
IData data,
boolean lastCommand,
boolean encrypt);boolean IDevice.sendSelection(IData data);boolean IDevice.startTransaction(ITransaction transaction);boolean IDevice.subscribeAll(IEventSubscriber eventCallback);boolean IDevice.unsubscribeAll(IEventSubscriber eventCallback);0xFE0xFFBarCodeData BarCodeDataBuilder.GetBarCodeData(
DeviceType deviceType,
byte[] dataBytes
);
new BarCodeData(byte[] Data, boolean Encrypted);
new BarCodeData(
byte[] Data,
boolean Encrypted,
byte EncryptionType,
byte[] KSN
);new CertificateInfo(
String format,
byte[] data,
String password
);String ConnectionStateBuilder.GetString(ConnectionState value);
ConnectionState ConnectionStateBuilder.GetValue(string data);new DirectoryEntry();
new DirectoryEntry(
String Aid,
String Label,
byte Priority,
byte[] ProprietaryData,
byte KernelIdentifier,
byte[] IssuerIN,
byte[] IssuerINE,
byte[] IssuerCountryCodeAlpha2,
byte[] IssuerCountryCodeAlpha3,
byte[] CardProductDetails
);new EnhancedInputRequest();
new EnhancedInputRequest(byte[] data);// String usage
IData data1 = new BaseData(“3030”);
// Array usage
IData data2 = new BaseData(new byte[] {0x30, 0x30});new InputRequest ();
new InputRequest (byte[] data);boolean IDeviceControl.close();boolean IDeviceControl.deviceReset();boolean IDeviceControl.displayMessage(byte messageID, byte timeout);boolean IDeviceControl.endSession();boolean IDeviceControl.getInput(IData data);boolean IDeviceControl.open();boolean IDeviceControl.playSound(IData data);boolean IDeviceControl.send(IData data);boolean IDeviceControl.sendExtendedCommand(IData data);boolean IDeviceControl.sendNFCPassThroughCommand(IData data);IResult IDeviceControl.sendSync(IData data);boolean IDeviceControl.setDateTime(IData data);boolean IDeviceControl.setLatch(boolean enableLock);Boolean IDeviceControl.setLEDStatus(
byte led,
byte status);boolean IDeviceControl.setNFCPassThroughMode(
byte timeout,
byte mode);boolean IDeviceControl.setNFCPollingMode(
byte timeout,
byte mode);boolean IDeviceControl.showBarCode(
BarCodeRequest request
byte timeout
IData prompt);boolean IDeviceControl.showImage(byte imageID);boolean IDeviceControl.showImage(
ImageData data
byte timeout);boolean showUIPage(
byte timeout,
byte option,
byte[] titleStringID,
String line1,
String line2,
String line3,
String line4,
String line5,
byte[] stringID1,
byte[] stringID2,
byte[] stringID3,
byte[] stringID4,
byte[] stringID5,
byte[] stringID6,
byte[] amount1,
byte[] amount2,
byte[] amount3,
byte[] amount4,
byte[] amount5,
byte[] amount6,
byte[] leftFButtonStringID,
byte[] middleFButtonStringID,
byte[] rightFButtonStringID,
byte leftFButtonColor,
byte middleFButtonColor,
byte rightFButtonColor,
byte[] xPosition,
byte[] yPosition,
byte[] imageData);boolean showUIPageWithAmountButtons(
byte timeout,
byte[] titleStringID,
String[] buttonAmountList,
byte[] leftFButtonStringID,
byte[] middleFButtonStringID,
byte[] rightFButtonStringID,
byte leftFButtonColor,
byte middleFButtonColor,
byte rightFButtonColor);
boolean showUIPageWithAmountButtons(
byte timeout,
byte[] titleStringID,
String amount1,
String amount2,
String amount3,
String amount4,
String amount5,
String amount6,
byte[] leftFButtonStringID,
byte[] middleFButtonStringID,
byte[] rightFButtonStringID,
byte leftFButtonColor,
byte middleFButtonColor,
byte rightFButtonColor);
boolean showUIPageWithAmountButtons(
byte timeout,
byte[] titleStringID,
byte[] amount1,
byte[] amount2,
byte[] amount3,
byte[] amount4,
byte[] amount5,
byte[] amount6,
byte[] leftFButtonStringID,
byte[] middleFButtonStringID,
byte[] rightFButtonStringID,
byte leftFButtonColor,
byte middleFButtonColor,
byte rightFButtonColor);boolean showUIPageWithImage(
byte timeout,
byte[] titleStringID,
byte[] rightFButtonStringID,
byte[] xPosition,
byte[] yPosition,
byte[] imageData);boolean showUIPageWithTextButtons(
byte timeout,
byte[] titleStringID,
byte[] stringID1,
byte[] stringID2,
byte[] stringID3,
byte[] stringID4,
byte[] stringID5,
byte[] stringID6,
byte[] leftFButtonStringID,
byte[] middleFButtonStringID,
byte[] rightFButtonStringID,
byte leftFButtonColor,
byte middleFButtonColor,
byte rightFButtonColor);boolean showUIPageWithTextLines(
byte timeout,
String[] lines,
byte[] middleFButtonStringID);
boolean showUIPageWithTextLines(
byte timeout,
String line1,
String line2,
String line3,
String line4,
String line5,
byte[] middleFButtonStringID);boolean IDeviceControl.startBarCodeReader(
byte timeout
byte encryptionMode);boolean IDeviceControl.startCardEmulation(
byte timeout
String data);boolean IDeviceControl.startPersonalInfoEntry(
CaptureType captureType,
bool encrypt);boolean IDeviceControl.stopBarCodeReader();boolean IDeviceControl.stopCardEmulation();boolean IDeviceControl.stopPersonalInfoEntry();