Allows to interact with a platform manager.

#include <scmApi.h>

Public Member Functions

 SCM (std::string ip="127.0.0.1")
 
bool isAlive ()
 
void monitorServiceAvailability_S (dpySCM::service_availability_handler handler)
 
void monitorServiceAvailability_U ()
 
boost::system::error_code subscribeDeviceListEvent (IsmartCardDeviceListObserver *observer)
 
boost::system::error_code unsubscribeDeviceListEvent (IsmartCardDeviceListObserver *observer)
 
boost::system::error_code subscribeDeviceEvent (IsmartCardDeviceObserver *observer)
 
boost::system::error_code unsubscribeDeviceEvent (IsmartCardDeviceObserver *observer)
 
boost::system::error_code subscribeReaderEvent (IsmartCardReaderObserver *observer)
 
boost::system::error_code unsubscribeReaderEvent (IsmartCardReaderObserver *observer)
 
void asyncGetDateTime (std::string deviceId, dpySCM::device_date_time_handler_function handler)
 
void asyncRebootDevice (std::string deviceId, dpySCM::RebootType rebootType, dpySCM::confirmation_handler_function handler)
 
void asyncTestNetworkConnectivity (dpySCM::DeviceNetworkConnectivity deviceNetworkConnectivity, dpySCM::network_status_handler_function handler)
 
void asyncSetLoggingConfiguration (std::string deviceId, dpySCM::LoggingConfiguration loggingConfiguration, dpySCM::confirmation_handler_function handler)
 
void asyncGetLoggingConfiguration (std::string deviceId, dpySCM::get_logging_configuration_handler_function handler)
 
Device related operations
void asyncGetDevices (dpySCM::get_devices_handler_function handler)
 
boost::system::error_code getDevices (dpySCM::Device &rDevice)
 
void deviceListEvent_S (dpySCM::handler_deviceListEvent_function handler)
 
void deviceListEvent_U ()
 
void asyncGetReaders (std::string deviceId, dpySCM::get_readers_handler_function handler)
 
void asyncGetVersion (std::string deviceId, dpySCM::device_version_handler_function handler)
 
void newCardEvent_S (dpySCM::handler_cardEvent_function handler)
 
void newCardEvent_U ()
 
void asyncAddKeys (dpySCM::DeviceKeys keyGroup, dpySCM::confirmation_handler_function handler)
 
void asyncAddKeys (std::string deviceId, std::string json, dpySCM::confirmation_handler_function handler)
 
void asyncGetKeys (std::string deviceId, dpySCM::get_keys_handler_function handler)
 
void asyncRemoveKeys (std::string deviceId, dpySCM::confirmation_handler_function handler)
 
void upgradeStatus_S (dpySCM::upgrade_status_events_function handler)
 
void upgradeStatus_U ()
 
void asyncForceDeviceUpgrade (std::string deviceId, dpySCM::force_device_upgrade_function handler)
 
Asynchronous card operations

These methods allow to perform specific operations asynchronously

void asyncCardOperation (dpySCM::TransactionDevice operationDevice, dpySCM::card_operation_handler_function handler)
 
void asyncPassThrough (dpySCM::DevicePassThrough devicePassThrough, dpySCM::pass_through_operation_handler_function handler)
 
void asyncGetULCounter (std::string deviceId, dpySCM::UltraLightCounter &ulCounter, dpySCM::ultralight_counter_handler_function handler)
 
void asyncIncrementULCounter (std::string deviceId, dpySCM::UltraLightCounter &ulCounter, dpySCM::confirmation_handler_function handler)
 
void asyncResetSamSlot (std::string deviceId, dpySCM::SamSlot slotNumber, dpySCM::confirmation_handler_function handler)
 
Synchronous card operations

These methods allow to perform specific operations synchronously

boost::system::error_code read (std::string deviceId, std::string uid, std::list< dpySCM::Data > &contents)
 
boost::system::error_code write (std::string deviceId, std::string uid, std::list< dpySCM::Data > &contents)
 
boost::system::error_code apduExchange (std::string deviceId, std::string uid, std::list< dpySCM::ApduTxData > &apduTx, std::list< dpySCM::ApduRxData > &apduRx)
 
boost::system::error_code passThrough (std::string deviceId, dpySCM::PassThrough &passThrough)
 
boost::system::error_code getULCounter (std::string deviceId, dpySCM::UltraLightCounter &ulCounter)
 
boost::system::error_code incrementULCounter (std::string deviceId, dpySCM::UltraLightCounter &ulCounter)
 
boost::system::error_code transferBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
boost::system::error_code restoreBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
boost::system::error_code incrementOnlyBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
boost::system::error_code decrementOnlyBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
boost::system::error_code incrementBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
boost::system::error_code decrementBlock (std::string deviceId, std::string uid, std::list< dpySCM::DataBlock > contents)
 
EMV related operations

These methods allow to work with smart payment cards

void chargeResultEMV_S (dpySCM::handler_device_charge_result_function handler)
 
void chargeResultEMV_U ()
 
void asyncRequestChargeEMV (dpySCM::DeviceRequestCharge requestChargeDevice, dpySCM::confirmation_handler_function handler)
 
void asyncChargeConfirmationEMV (dpySCM::DeviceChargeConfirmation requestChargeConfirmation, dpySCM::confirmation_handler_function handler)
 
void asyncSetPaymentAppStatus (dpySCM::DevicePaymentAppStatus devicePaymentAppStatus, dpySCM::confirmation_handler_function handler)
 
void asyncGetPaymentAppInfo (std::string deviceId, dpySCM::device_payment_app_info_function handler)
 
void asyncGetPaymentAppConf (dpySCM::DevicePaymentAppConfiguration devicePaymentAppConf, dpySCM::device_payment_app_conf_function handler)
 
void asyncSetPaymentAppConf (dpySCM::DevicePaymentAppConfiguration devicePaymentAppConf, dpySCM::confirmation_handler_function handler)
 
void asyncForcePaymentAppComm (std::string deviceId, dpySCM::confirmation_handler_function handler)
 
Media Profiles related methods

These methods allow to work with the media profiles available in a specific device

void asyncPlayProfile (std::string deviceId, std::string profileId, dpySCM::confirmation_handler_function handler)
 
void asyncAddMediaProfiles (std::string deviceId, std::string json, dpySCM::confirmation_handler_function handler)
 
void asyncAddMediaProfiles (dpySCM::DeviceMediaProfiles deviceMediaProfiles, dpySCM::confirmation_handler_function handler)
 
void asyncGetMediaProfiles (std::string deviceId, dpySCM::device_media_profiles_function handler)
 
void asyncRemoveMediaProfiles (std::string deviceId, dpySCM::confirmation_handler_function handler)
 
PCI Data Security Standard reboot related methods
void pciRebootEvent_S (dpySCM::reboot_time_handler_function handler)
 
void pciRebootEvent_U ()
 
void asyncGetPciRebootTime (std::string deviceId, dpySCM::reboot_time_handler_function handler)
 
void asyncSetPciRebootTime (dpySCM::DevicePciRebootTime deviceRebootTime, dpySCM::confirmation_handler_function handler)
 
boost::system::error_code getPciRebootTime (std::string deviceId, dpySCM::DevicePciRebootTime &rebootTime)
 
boost::system::error_code setPciRebootTime (dpySCM::DevicePciRebootTime deviceRebootTime)
 
Network related methods

These methods allow to work with device network configuration

void asyncGetNetworkConfiguration (std::string deviceId, dpySCM::device_network_configuration_handler_function handler)
 
void asyncSetNetworkConfiguration (dpySCM::DeviceNetworkConfiguration deviceNetworkConfiguration, dpySCM::confirmation_handler_function handler)