scmTypes.h
Go to the documentation of this file.
1 
4 
8 #pragma once
9 
10 #include <string>
11 #include <vector>
12 #include <map>
13 #include <boost/system/error_code.hpp>
14 
15 namespace dpySCM {
16 
18 enum Action
19 {
20  BOOT = 0,
21  ACTIVE = 1,
22  STANDBY = 2,
23  SLEEP = 3,
24  DEEP_SLEEP = 4,
25  HIBERNATE = 5,
26  REBOOT = 6,
27  OFF = 7
28 };
29 
32 {
34  MIFARE_1K = 1,
35  MIFARE_4K = 2,
38  MIFARE_DES = 5,
41  FELICA = 8,
42  CALYPSO = 9,
43  CTS512B = 10,
44  CTS256B = 11,
45  SRT_512 = 12,
46  SRI_512 = 13,
47  EMV = 14,
48  SAM = 15
49 
50 };
51 
53 enum KeyType
54 {
56  KEY_A = 1,
57  KEY_B = 2,
58 };
59 
62 {
64  std::string keys = "";
65 };
66 
68 struct ApduRxData
69 {
70  char32_t sw1 = 0;
71  char32_t sw2 = 0;
72  std::string rxData;
73 };
74 
76 struct ApduTxData
77 {
78  char32_t class_instruction = 0;
79  char32_t instruction = 0;
80  char32_t param1 = 0;
81  char32_t param2 = 0;
82  char32_t expectedResponseLen = 0;
83  std::string txData;
84 };
85 
88 {
89  DEFAULT_OP = 0,
90  AUTH = 1,
91  READ = 2,
92  WRITE = 3,
93  APDU = 4,
94  TRANSFER = 5,
95  RESTORE = 6,
96  INCREMENT = 7,
97  DECREMENT = 8,
100 };
101 
103 struct Data
104 {
105  char32_t index = 0;
106  [[deprecated("Use priority instead of keyTypeUsed member")]] KeyType keyTypeUsed = DEFAULT_KEY;
107  char32_t priority = -1;
108  std::string buffer = "";
109  char32_t errorCode = 0;
110 };
111 
114 {
116  [[deprecated("Use priority instead of keyTypeUsed member")]] KeyType keyType = DEFAULT_KEY;
117  std::string uid = "";
118  char32_t index = 0;
119  std::string inRawData;
120  std::string outRawData;
123  std::string timestamp = "";
124  char32_t errorCode = 0;
125  char32_t priority = -1;
126 };
127 
132 struct DataBlock
133 {
134  char32_t index = 0;
135  [[deprecated("Use priority instead of keyTypeUsed member")]] KeyType keyTypeUsed = DEFAULT_KEY;
136  char32_t priority = -1;
137  char32_t value = 0;
138 };
139 
141 enum Event
142 {
143  ADDED = 0,
144  REMOVED = 1
145 };
146 
148 struct CardInfo
149 {
150  std::string readerName = "";
151  std::string uid = "";
153  bool collision = true;
154  std::string timestamp = "";
155  std::string atqa = "";
156  std::string sak = "";
157  std::string ats = "";
158 };
159 
161 struct CardEvent
162 {
163  Event event = REMOVED;
165 };
166 
168 struct Reader
169 {
170  std::string deviceid = "";
171  std::string socket = "";
172  std::string samuid = "";
173 };
174 
176 struct Device
177 {
178  std::vector<std::string> device;
179  std::string timestamp = "";
180  std::vector<std::string> address;
181 };
182 
184 struct Key
185 {
187  char32_t index = 0;
188  std::string keys = "";
189 };
190 
192 struct KeyGroup
193 {
194  char32_t priority = 0;
195  std::vector<Key> key;
196  std::string timestamp = "";
197 };
198 
201 {
202  std::string deviceId = "";
203  std::vector<CardOperation> operation;
204 };
205 
208 {
209  std::string deviceId = "";
210  std::vector<Reader> readers;
211  std::string timestamp = "";
212 };
213 
216 {
217  std::string deviceId = "";
218  std::vector<KeyGroup> keys;
219 };
220 
223 {
224  std::string ip = "";
225  std::string port = "";
226  std::string filename = "";
227  std::string timeoutMs = "";
228  std::string protocol = "";
229  std::string user = "";
230  std::string pass = "";
231 };
232 
234 struct Version
235 {
236  std::string adkVersion = "";
237  std::string sdkVersion = "";
238  std::string serialNumber = "";
239  std::string osVersion = "";
240  std::string appVersion = "";
241  std::string paymentAppVersion = "";
242 };
243 
246 {
247  std::string deviceId = "";
249 };
250 
253 {
254  std::string localIpAddress = "";
255  std::string netmask = "";
256  std::string gateway = "";
257  std::string dnsServer = "";
258  std::string dhcp = "";
259  std::string hostName = "";
260 };
261 
264 {
265  std::string deviceId = "";
267 };
268 
271 {
272  NA_MODE = 0,
275 };
276 
279 {
280  NA_STATUS = 0,
281  PA_ENABLE = 1,
283 };
284 
287 {
290 };
291 
292 // DEVICE
295 {
296  std::string deviceId = "";
298 };
299 
302 {
304  IDLE = 1,
307  NO_KEYS = 4,
310 };
311 
314 {
317  std::string protocolVersion = "";
318  std::string timestamp = "";
319 };
320 
321 // DEVICE
324 {
325  std::string deviceId = "";
327 };
328 
331 {
340  PRICE = 8,
343  BLACKLIST = 11,
348  WHITE_LIST = 16,
349  ODA_CARDS = 17,
352  LANGUAGE = 20,
354  ROUTE = 22,
356  STOP = 24,
357  EMPLOYEE_ID = 25,
358  VEHICLE = 26,
359  EXTRA = 27
360 };
361 
364 {
365  Property property = NA_PROPERTY;
366  std::string value = "";
367 };
368 
371 {
372  std::vector<PaymentAppConfiguration> paymentAppProperty;
373 };
374 
377 {
378  std::string deviceId = "";
380 };
381 
384 {
385  std::string parameter = "";
386  std::string value = "";
387 };
388 
391 {
392  std::string deviceId = "";
394 };
395 
398 {
399  NA_TICKET = 0,
403 };
404 
407 {
408  std::string uid = "";
409  std::string price = "";
411 };
412 
415 {
416  std::string deviceId = "";
418 };
419 
422 {
427 };
428 
431 {
433  SALE = 1,
442  ECO_QUERY = 11
443 };
444 
447 {
449  DEBIT = 1,
450  CREDIT = 2,
452  PREPAID = 4,
453  PRIVATE = 5,
455 };
456 
459 {
460  NA_TECH = 0,
468 };
469 
472 {
473  std::string uid = "";
474  boost::system::error_code errorCode;
477  std::string PAN = "";
478  std::string operationId = "";
481  std::string appId = "";
482  std::string countryId = "";
483  std::string timestamp = "";
484 };
485 
488 {
489  std::string deviceId = "";
491 };
492 
495 {
496  std::string deviceId = "";
497 };
498 
501 {
502  std::string uid = "";
503  bool abort = false;
504 };
505 
508 {
509  std::string deviceId = "";
511 };
512 
515 {
516  std::string readerId = "";
517  std::string mediaProfileId;
518 };
519 
522 {
523  std::string deviceId = "";
525 };
526 
529 {
530  std::string deviceId = "";
531  unsigned int hour = 0;
532  unsigned int minute = 0;
533  unsigned int sec = 0;
534 };
535 
537 enum State
538 {
547 };
548 
551 {
559 };
560 
563 {
564  std::string deviceId = "";
566 };
567 
569 struct Sound
570 {
571  unsigned int tone_hz = 0;
572  unsigned int duration_ms = 0;
573 };
574 
576 enum LedId
577 {
578  NA_LED = 0,
579  LED1 = 1,
580  LED2 = 2,
581  LED3 = 3,
582  LED4 = 4,
583  LED5 = 5,
584  LED6 = 6,
585  LED7 = 7,
586  LED8 = 8,
587  LED9 = 9,
588  LED10 = 10,
589  LEDLOGO1 = 11,
590 };
591 
594 {
595  NA_COLOR = 0,
596  WHITE = 1,
597  RED = 2,
598  BLUE = 3,
599  GREEN = 4,
600  MAGENTA = 5,
601  YELLOW = 6,
602  CYAN = 7,
603 };
604 
606 struct Led
607 {
608  LedId id = NA_LED;
610 };
611 
614 {
615  std::vector<Led> leds;
616  unsigned int duration_ms = 0;
617 };
618 
621 {
622  std::string profileId = "";
623  std::vector<Sound> sounds;
624  std::vector<LedGroupState> ledGroups;
625 
626 };
627 
630 {
631  std::string deviceId = "";
632  std::vector<MediaProfile> mediaProfiles;
633 };
634 
636 struct Command
637 {
638  std::string inRawData;
639  std::string outRawData;
640  char32_t errorCode = 0;
641 };
642 
645 {
646  std::string readerId = "";
647  std::string uid = "";
648  std::vector<Command> commands;
649 };
650 
653 {
654  std::string deviceId = "";
656 };
657 
660 {
661  std::string uid = "";
662  std::uint8_t counter = 0;
663  unsigned int value = 0;
664 };
665 
668 {
669  std::string deviceId;
670  std::uint32_t seconds;
671  std::uint32_t minutes;
672  std::uint32_t hours;
673  std::uint32_t day;
674  std::uint32_t month;
675  std::uint32_t year;
676 };
677 
680 {
681  SOFT = 0,
682  HARD = 1
683 };
684 
687 {
688  std::string deviceId;
689  std::string address;
690 };
691 
694 {
695  std::string deviceId;
696  std::string address;
697  unsigned int time_ms;
698 };
699 
702 {
703  NONE = 0,
704  ALL = 1,
709  SYSTEM = 6,
710  UPDATES = 7,
711  SERVER = 8
712 };
713 
716 {
717  DEBUG = 0,
718  INFO = 1,
719  WARN = 2,
720  ERROR = 3
721 };
722 
725 {
728  std::string address = "";
729  unsigned int port = 0;
730  unsigned int rebootsUntilLoggingDisabled = 0;
731 };
732 
735 {
736  ALL_SAMS = 0,
737  FIRST = 1,
738  SECOND = 2,
739  THIRD = 3,
740  FOURTH = 4
741 };
742 
744 {
746  PLUGIN = 1,
747  FILE = 2
748 };
749 
752 {
755 };
756 
759 {
760  std::string name = "";
761  std::string filename = "";
763  std::string md5 = "";
764  std::uint32_t size;
765  std::string version = "";
767  bool active = false;
768 };
769 
771 {
772  std::string deviceId = "";
773  std::vector<ArtifactInfo> artifacts;
774  std::string timestamp = "";
775 };
776 
778 {
779  std::string deviceId = "";
780  std::string plugin_name = "";
781  std::map<std::string, std::string> data;
782 };
783 
785 {
786  DEFAULT_MODEL = 0,
787  UX410 = 1,
788  UX412 = 2,
789  CVEND_I = 3,
790  CVEND_II = 4
791 };
792 
794 {
795  DEFAULT_TYPE = 0,
798 };
799 
801 struct DeviceInfo {
802  DeviceModel model = DeviceModel::DEFAULT_MODEL;
803  DeviceType type = DeviceType::DEFAULT_TYPE;
804 };
805 
806 }
std::string deviceId
Device name.
Definition: scmTypes.h:523
@ ROUTE
It indicates the route which is done in the vehicle where is installed the payment terminal.
Definition: scmTypes.h:354
@ CTS256B
CTS256B.
Definition: scmTypes.h:44
@ ALL
All of the components/applications.
Definition: scmTypes.h:704
@ ACCESS_POINT_TYPE
Access point type. Available values: "input", "output".
Definition: scmTypes.h:334
@ READ
Read operation.
Definition: scmTypes.h:91
std::uint32_t month
month
Definition: scmTypes.h:674
bool collision
If there is collision or not.
Definition: scmTypes.h:153
std::string deviceId
Device name.
Definition: scmTypes.h:416
List of readers.
Definition: scmTypes.h:207
@ OFF
Shutdown.
Definition: scmTypes.h:27
DataBlock structure.
Definition: scmTypes.h:132
std::string adkVersion
Application development kit version.
Definition: scmTypes.h:236
Device upgrade status.
Definition: scmTypes.h:562
@ LED2
LED2.
Definition: scmTypes.h:580
@ ACCESS_POINT_CODE
Access point code.
Definition: scmTypes.h:333
@ DEFAULT_CARD
Default value.
Definition: scmTypes.h:33
std::string outRawData
Data structure for outputs.
Definition: scmTypes.h:639
@ PRINT_LOCAL_COPY
Query for printing a local copy.
Definition: scmTypes.h:438
ApduTxData txData
APDU exchange for transmissions.
Definition: scmTypes.h:121
@ BLUE
BLUE.
Definition: scmTypes.h:598
@ END_OF_DAY_TIME
At which time it is made the shift change.
Definition: scmTypes.h:342
Contains the network address to be tested on that device.
Definition: scmTypes.h:686
@ PARTICULAR_OPERATION_DETAIL
Query for detailing single operations.
Definition: scmTypes.h:437
std::string osVersion
Operative system version.
Definition: scmTypes.h:239
Relation between a polling parameter key and its value.
Definition: scmTypes.h:383
std::string filename
File name.
Definition: scmTypes.h:226
char32_t index
Keys value.
Definition: scmTypes.h:187
std::string timeoutMs
Timeout in milliseconds.
Definition: scmTypes.h:227
CardInfo cardinfo
The cad information.
Definition: scmTypes.h:164
@ PREPARED_TO_INSTALL
PREPARED_TO_INSTALL.
Definition: scmTypes.h:542
@ CYAN
CYAN.
Definition: scmTypes.h:602
@ UPDATE_DOWNLOADED
UPDATE_DOWNLOADED.
Definition: scmTypes.h:541
Structure containing information needed to execute a pass through.
Definition: scmTypes.h:644
WorkMode
Work mode indicator, it defines which configuration is been used.
Definition: scmTypes.h:270
@ DISABLE_GW
The payment terminal has not communication with Redsys.
Definition: scmTypes.h:273
std::string deviceId
Device name.
Definition: scmTypes.h:489
unsigned int minute
PCI Data Security Standard reboot minute.
Definition: scmTypes.h:532
Smart Card Reader Information.
Definition: scmTypes.h:801
std::string address
The IP address of the request.
Definition: scmTypes.h:696
@ GENERAL_OPERATION_DETAIL
Query for detailing general operations.
Definition: scmTypes.h:436
KeyType keyTypeUsed
The block number which is wanted to start.
Definition: scmTypes.h:106
The kind of event and the card information.
Definition: scmTypes.h:161
PaymentAppConfigurations paymentAppConfigurations
Payment configurations.
Definition: scmTypes.h:379
char32_t index
The block number which is wanted to start.
Definition: scmTypes.h:134
Property
It defines the basic setting for the transport operator.
Definition: scmTypes.h:330
unsigned int sec
PCI Data Security Standard reboot second.
Definition: scmTypes.h:533
@ LIBPAP_EMV
Libpap emv component.
Definition: scmTypes.h:706
std::vector< LedGroupState > ledGroups
State of the group of LEDs for the profile.
Definition: scmTypes.h:624
It contains the information related to set the Payment Application configuration.
Definition: scmTypes.h:286
std::string txData
Data structure.
Definition: scmTypes.h:83
std::string inRawData
Data structure for inputs.
Definition: scmTypes.h:638
@ SERVER
Server component.
Definition: scmTypes.h:711
std::string value
Value.
Definition: scmTypes.h:366
@ UNKONW_PRODUCT
No know product.
Definition: scmTypes.h:454
All the data related to the new card event information.
Definition: scmTypes.h:148
@ NA_SOLUTION
Not available.
Definition: scmTypes.h:423
PassThrough passThrough
Pass through.
Definition: scmTypes.h:655
std::string value
Polling parameter value (the proto 'bytes' field is mapped to std::string)
Definition: scmTypes.h:386
@ LED9
LED9.
Definition: scmTypes.h:587
@ BLACKLIST
Enable/disable blacklist. Available values: "on", "off".
Definition: scmTypes.h:343
@ SAM
SAM.
Definition: scmTypes.h:48
Device media profiles.
Definition: scmTypes.h:629
@ EXTRA
Extra information, such us expedition.
Definition: scmTypes.h:359
@ NO_RESTART_APPS
No restart apps. Maybe the changes will be applied on the next boot.
Definition: scmTypes.h:753
std::string deviceId
Device name.
Definition: scmTypes.h:265
@ OFFLINE_MODE
The terminal shall work in offline mode. Available values: "on", "off".
Definition: scmTypes.h:338
DeviceModel
Definition: scmTypes.h:784
std::string pass
Password login.
Definition: scmTypes.h:230
unsigned int rebootsUntilLoggingDisabled
Number of reboots until the remote logging is disabled. If N (N>0) is set, remote logging will be dis...
Definition: scmTypes.h:730
PaymentAppInfo paymentAppInfo
Payment application information.
Definition: scmTypes.h:326
@ STANDBY
Standby.
Definition: scmTypes.h:22
@ COUNTABLE_CLOSING
Query for countable closing.
Definition: scmTypes.h:435
@ STATE_UPDATING
State updating.
Definition: scmTypes.h:553
@ MIFARE_MINI
Mifare mini.
Definition: scmTypes.h:39
std::string localIpAddress
The local IP address.
Definition: scmTypes.h:254
Component component
Type of component running inside the SCM device.
Definition: scmTypes.h:726
ArtifactType
Definition: scmTypes.h:743
@ PRINT_AN_ONLINE_COPY
Query for printing some online copy.
Definition: scmTypes.h:440
@ SECOND
Reset slot 2.
Definition: scmTypes.h:738
@ APDU
Exchange APDU commands.
Definition: scmTypes.h:93
RequestCharge requestCharge
Charge request.
Definition: scmTypes.h:417
unsigned int value
The value or the increment of the counter.
Definition: scmTypes.h:663
std::string port
Port.
Definition: scmTypes.h:225
@ DEEP_SLEEP
Deep sleep.
Definition: scmTypes.h:24
@ ACTIVE
Active.
Definition: scmTypes.h:21
ChargeResult chargeResult
Charge result.
Definition: scmTypes.h:490
Device payment application information.
Definition: scmTypes.h:323
UpdateState
Defines the UPDATE STATES.
Definition: scmTypes.h:550
char32_t errorCode
SCM error code which informs about the command result.
Definition: scmTypes.h:640
RebootType
Reboot type, it defines different reboot types.
Definition: scmTypes.h:679
@ DEFAULT_OP
Unused value.
Definition: scmTypes.h:89
std::string countryId
The issuing country of the smart card.
Definition: scmTypes.h:482
@ RESTORE
Restore command.
Definition: scmTypes.h:95
Event
The type of event related to the smart card.
Definition: scmTypes.h:141
@ INSTALLING
INSTALLING.
Definition: scmTypes.h:543
The status of the network connectivity.
Definition: scmTypes.h:693
@ NA_LED
NA_LED.
Definition: scmTypes.h:578
std::string serialNumber
Serial number of the device.
Definition: scmTypes.h:238
@ REMOVED
REMOVED.
Definition: scmTypes.h:144
@ BLACK_LIST_TIME_WITHOUT_UPDATES
Number of hours without updating the black list.
Definition: scmTypes.h:346
char32_t priority
Card priority.
Definition: scmTypes.h:194
TicketMode mode
Ticket configuration.
Definition: scmTypes.h:410
std::uint32_t size
File size in bytes.
Definition: scmTypes.h:764
KeyType keyType
The key type used in operation.
Definition: scmTypes.h:116
std::uint8_t counter
The counter number.
Definition: scmTypes.h:662
@ CVEND_I
Feig - cVEND I.
Definition: scmTypes.h:789
@ WRITE
Write operation.
Definition: scmTypes.h:92
@ DEFAULT_ARTIFACT
Unused value.
Definition: scmTypes.h:745
std::string uid
UID card.
Definition: scmTypes.h:473
@ WARN
Warn Logging Level.
Definition: scmTypes.h:719
@ NO_COMMUNICATIONS
The payment terminal has no GPRS signal or connectivity.
Definition: scmTypes.h:309
@ CTS512B
CTS512B.
Definition: scmTypes.h:43
@ STATE_WAIT_ROLLBACK
State wait rollback.
Definition: scmTypes.h:554
@ FELICA
Felica.
Definition: scmTypes.h:41
The result of the charge request.
Definition: scmTypes.h:471
@ OFFLINE_BACKUP
The terminal shall work in offline mode the online mode fails. Available values: "on",...
Definition: scmTypes.h:339
NetworkConfiguration networkConfiguration
Configuration.
Definition: scmTypes.h:266
std::string uid
The UID of the card.
Definition: scmTypes.h:661
@ LED6
LED6.
Definition: scmTypes.h:584
@ BOTH_TICKETS
The payment terminal shall generate the trade and client tickets.
Definition: scmTypes.h:402
@ SALE
Sale.
Definition: scmTypes.h:433
@ MIFARE_PLUS
Mifare plus.
Definition: scmTypes.h:40
The Logging Configuration to be applied or being applied.
Definition: scmTypes.h:724
AppStatus status
Functionality indicator.
Definition: scmTypes.h:289
@ DEVELOPMENT
Development devices with special privileges.
Definition: scmTypes.h:796
KeyType keyTypeUsed
The block number which is wanted to start.
Definition: scmTypes.h:135
std::string uid
The UID of the card.
Definition: scmTypes.h:117
OperationType operationType
The type of operation.
Definition: scmTypes.h:115
std::string atqa
ATQA.
Definition: scmTypes.h:155
@ BLACK_LIST_UPDATE_RETRIES
How much updating retries can be done before refusing bank cards.
Definition: scmTypes.h:345
@ MIFARE_4K
Mifare 4K.
Definition: scmTypes.h:35
LedColor color
LED color.
Definition: scmTypes.h:609
std::string deviceId
Device name.
Definition: scmTypes.h:378
std::string deviceId
Device name.
Definition: scmTypes.h:669
SamSlot
Logging Level values indicating severity of the logs.
Definition: scmTypes.h:734
@ TERMINAL_BROKEN
The payment terminal has some failure.
Definition: scmTypes.h:308
std::string md5
File MD5 checksum.
Definition: scmTypes.h:763
@ HIBERNATE
Hibernate.
Definition: scmTypes.h:25
std::vector< PaymentAppConfiguration > paymentAppProperty
Properties.
Definition: scmTypes.h:372
@ NA_TICKET
Not available.
Definition: scmTypes.h:399
SolutionCode
Solution code for the reuslt of the operation.
Definition: scmTypes.h:421
Request of charging to a smart card.
Definition: scmTypes.h:406
ChargeConfirmation chargeConfirmation
charge confirmation
Definition: scmTypes.h:510
char32_t sw1
SW1.
Definition: scmTypes.h:70
@ SLEEP
Sleep.
Definition: scmTypes.h:23
All the date related to the device information.
Definition: scmTypes.h:176
PaymentAppStatus paymentAppStatus
Payment application status.
Definition: scmTypes.h:297
@ MIFARE_UL_EV1
Mifare ultra light EV1.
Definition: scmTypes.h:36
bool active
Artifact status.
Definition: scmTypes.h:767
@ NA_PROPERTY
Not available.
Definition: scmTypes.h:332
@ PASSBACK_NUMBER
Maximum number of attempts that can be done with bank card.
Definition: scmTypes.h:351
KeyType
Keys types.
Definition: scmTypes.h:53
Device request of charging.
Definition: scmTypes.h:414
@ GREEN
GREEN.
Definition: scmTypes.h:599
@ HARD
Reboot complete device.
Definition: scmTypes.h:682
unsigned int port
Remote port to log the data to.
Definition: scmTypes.h:729
std::vector< Sound > sounds
Sounds for the profile.
Definition: scmTypes.h:623
State
The different types of upgrade events.
Definition: scmTypes.h:537
@ SRT_512
SRT_512.
Definition: scmTypes.h:45
@ MAGENTA
MAGENTA.
Definition: scmTypes.h:600
RequestType
Type of request.
Definition: scmTypes.h:430
@ ONLINE_MODE
The terminal shall work in online mode. Available values: "on", "off".
Definition: scmTypes.h:337
std::string uid
The UID of the card.
Definition: scmTypes.h:151
@ LED3
LED3.
Definition: scmTypes.h:581
Media profile which contains information about the.
Definition: scmTypes.h:620
std::string samuid
In the case of a SAM reader, this field specify the ID of the SAM card inserted, if not "NA".
Definition: scmTypes.h:172
Definition: scmTypes.h:770
@ DEBUG
Debug Logging Level.
Definition: scmTypes.h:717
OperationType
Different types of operation.
Definition: scmTypes.h:87
@ LED4
LED4.
Definition: scmTypes.h:582
@ NOT_AVAILABLE
The payment terminal is not operational.
Definition: scmTypes.h:305
std::string rxData
The data structure.
Definition: scmTypes.h:72
std::string deviceId
Device name.
Definition: scmTypes.h:296
std::string readerId
Reader ID.
Definition: scmTypes.h:516
Device payment terminal configuration.
Definition: scmTypes.h:376
@ BLACK_LIST_UPDATE_TIMER
Timer in minutes for updating the black list in the payment terminal.
Definition: scmTypes.h:344
std::string timestamp
When it was taken the information.
Definition: scmTypes.h:196
@ LED1
LED1.
Definition: scmTypes.h:579
std::uint32_t minutes
minutes
Definition: scmTypes.h:671
@ UNKOWN_SOLUTION
Unknow result.
Definition: scmTypes.h:426
@ LED8
LED8.
Definition: scmTypes.h:586
@ CONTACT_EMV
EMV contact card.
Definition: scmTypes.h:465
@ PRIVATE
Some private card.
Definition: scmTypes.h:453
@ DECREMENT_ONLY
Decrement command.
Definition: scmTypes.h:99
@ ODA_CARDS
Enable/disable ODA cards. Available values: "on", "off".
Definition: scmTypes.h:349
@ YELLOW
YELLOW.
Definition: scmTypes.h:601
The device network configuration.
Definition: scmTypes.h:263
boost::system::error_code errorCode
Transaction code result.
Definition: scmTypes.h:474
Netowrk Configuration.
Definition: scmTypes.h:252
Add Keys.
Definition: scmTypes.h:215
ArtifactType type
Type of artifact.
Definition: scmTypes.h:762
std::string timestamp
The time stamp of when the information was take it.
Definition: scmTypes.h:123
std::string hostName
Host name.
Definition: scmTypes.h:259
Structure containing information of an artifact.
Definition: scmTypes.h:758
std::string user
User login.
Definition: scmTypes.h:229
@ RED
RED.
Definition: scmTypes.h:597
@ UX410
Verifone - Ux410.
Definition: scmTypes.h:787
@ CVEND_II
Feig - cVEND II.
Definition: scmTypes.h:790
std::string ip
IP address.
Definition: scmTypes.h:224
List of property configurations.
Definition: scmTypes.h:370
@ NONE
None of the components/applications.
Definition: scmTypes.h:703
@ UPDATES
Updates component.
Definition: scmTypes.h:710
Device payment application information.
Definition: scmTypes.h:294
std::string version
Artifact version.
Definition: scmTypes.h:765
char32_t index
The block number which is wanted to start.
Definition: scmTypes.h:118
FunctionalityIndicator
Functionality indicator.
Definition: scmTypes.h:301
@ PRODUCTION
Production devices.
Definition: scmTypes.h:797
Device PCI Reboot Time.
Definition: scmTypes.h:528
Version version
Version.
Definition: scmTypes.h:248
@ FIRST
Reset slot 1.
Definition: scmTypes.h:737
@ WHITE_LIST
Enable/disable white list. Available values: "on", "off".
Definition: scmTypes.h:348
Structure used to send commands (input) in raw data form and store the response (output)
Definition: scmTypes.h:636
@ FILE
Standard file.
Definition: scmTypes.h:747
char32_t priority
Card priority (-1 by default when a priority is not chosen)
Definition: scmTypes.h:107
std::string deviceId
Device name.
Definition: scmTypes.h:654
std::string address
Network address to be checked, it can be an IP or Name address.
Definition: scmTypes.h:689
Deepsy SCM namespace that includes the different enums, structs or method signatures that should be u...
ProductTypeId productTypeId
Product type identifier.
Definition: scmTypes.h:479
std::string readerName
The name of the reader responsible of the card.
Definition: scmTypes.h:150
std::string deviceId
Device name.
Definition: scmTypes.h:509
@ NA_REQUEST
Not available.
Definition: scmTypes.h:432
@ FULL_OVERVIEW
Query for grand total.
Definition: scmTypes.h:434
std::string sdkVersion
Software development kit version.
Definition: scmTypes.h:237
std::string inRawData
Data structure for inputs.
Definition: scmTypes.h:119
std::vector< std::string > address
The addresses of the devices.
Definition: scmTypes.h:180
Structure for UltraLight counter requests.
Definition: scmTypes.h:659
char32_t class_instruction
Class of instruction.
Definition: scmTypes.h:78
TechTypeId
Identifier for the technology type of the payment application.
Definition: scmTypes.h:458
std::string timestamp
When it was taken the information.
Definition: scmTypes.h:774
@ EMV
EMV.
Definition: scmTypes.h:47
Relation between the property and its value.
Definition: scmTypes.h:363
@ NO_KEYS
The payment terminal has no keys.
Definition: scmTypes.h:307
ArtifactInstallationType
Type of artifact installation.
Definition: scmTypes.h:751
unsigned int tone_hz
Tone to be played in hertz.
Definition: scmTypes.h:571
@ NA_INDICATOR
Not available.
Definition: scmTypes.h:303
char32_t param2
Instruction parameter 2.
Definition: scmTypes.h:81
std::string socket
The socket of the reader. If it is a SAM reader, it would be also specify the slot number.
Definition: scmTypes.h:171
std::string sak
SAK.
Definition: scmTypes.h:156
std::string protocolVersion
Protocol version.
Definition: scmTypes.h:317
std::vector< ArtifactInfo > artifacts
List of artifacts information.
Definition: scmTypes.h:773
std::string deviceId
Device name.
Definition: scmTypes.h:325
@ TRANSPORT_ZONE
It indicates the zone where is the transport vehicle which has installed the payment terminal.
Definition: scmTypes.h:355
@ PRICING_PLAN
It indicates which pricing plan is configured. Available values: "variable-kft", "fix-kft",...
Definition: scmTypes.h:336
APDU RX exchange command.
Definition: scmTypes.h:68
Device charge result.
Definition: scmTypes.h:487
Definition: scmTypes.h:777
TechTypeId techTypeId
Technology type identifier.
Definition: scmTypes.h:480
std::string parameter
Polling parameter key (e.g. polling type, ECP command sent to cards during polling)
Definition: scmTypes.h:385
@ IDLE
The payment terminal is operational.
Definition: scmTypes.h:304
char32_t errorCode
SCM error code which informs about the operation result.
Definition: scmTypes.h:124
std::string uid
The UID of the card.
Definition: scmTypes.h:647
@ PRICE
Ticket price.
Definition: scmTypes.h:340
@ STATE_IDLE
State idle.
Definition: scmTypes.h:552
@ DESTINATION_MODE
Destination mode configuration.
Definition: scmTypes.h:353
@ NA_PRODUCT
Not available product.
Definition: scmTypes.h:448
@ INCREMENT
Increment command.
Definition: scmTypes.h:96
@ COMMERCIAL
Commercial card.
Definition: scmTypes.h:451
@ SAM_READER
Sam_reader component.
Definition: scmTypes.h:708
std::vector< std::string > device
The name of the device which belongs to.
Definition: scmTypes.h:178
@ THIRD
Reset slot 3.
Definition: scmTypes.h:739
std::uint32_t seconds
seconds
Definition: scmTypes.h:670
std::string deviceId
Device Id.
Definition: scmTypes.h:217
std::string appId
Application identifier, it indicates the smart card brand of the operation.
Definition: scmTypes.h:481
@ ECO_QUERY
ECO query.
Definition: scmTypes.h:442
@ ADDED
ADDED or INSERTED.
Definition: scmTypes.h:143
@ INFO
Info Logging Level.
Definition: scmTypes.h:718
@ KEY_A
A type.
Definition: scmTypes.h:56
char32_t value
Value to increment / decrement.
Definition: scmTypes.h:137
std::string deviceId
Device Id.
Definition: scmTypes.h:202
Force the connection of the smart reader with its payment gateway.
Definition: scmTypes.h:494
@ IDLE_STATE
IDLE_STATE.
Definition: scmTypes.h:539
Device pass through.
Definition: scmTypes.h:652
@ PRINT_LAST_ONLINE_COPY
Query for printing the last online copy.
Definition: scmTypes.h:439
std::vector< Led > leds
List of LEDs existing in the device.
Definition: scmTypes.h:615
ArtifactInstallationType installType
Installation type.
Definition: scmTypes.h:766
std::string deviceId
Device Id.
Definition: scmTypes.h:564
@ MIFARE_UL_C
Mifare ultra light C.
Definition: scmTypes.h:37
std::vector< MediaProfile > mediaProfiles
MediaProfiles existing in that device.
Definition: scmTypes.h:632
@ STOP
It indicates the stop where is the transport vehicle which has installed the payment terminal.
Definition: scmTypes.h:356
@ SRI_512
SRI_512.
Definition: scmTypes.h:46
bool abort
Confirm or cancel the charge request.
Definition: scmTypes.h:503
std::string timestamp
Date.
Definition: scmTypes.h:318
APDU TX exchange command.
Definition: scmTypes.h:76
State state
State.
Definition: scmTypes.h:565
std::string keys
The key.
Definition: scmTypes.h:64
@ DEFAULT_KEY
Empty key.
Definition: scmTypes.h:55
Transaction operation device.
Definition: scmTypes.h:200
Basic information for transferring a file through the network.
Definition: scmTypes.h:222
FunctionalityIndicator indicator
Functionality indicator.
Definition: scmTypes.h:316
Device play profile.
Definition: scmTypes.h:521
@ LED5
LED5.
Definition: scmTypes.h:583
SolutionCode solutionCode
Solution code.
Definition: scmTypes.h:475
std::string deviceId
Device name.
Definition: scmTypes.h:496
std::string deviceId
Device name.
Definition: scmTypes.h:772
CardType cardtype
The card type.
Definition: scmTypes.h:152
std::string readerId
Reader ID.
Definition: scmTypes.h:646
@ ROLLBACK_DONE
ROLLBACK_DONE.
Definition: scmTypes.h:546
@ CREDIT
Credit card.
Definition: scmTypes.h:450
@ LED10
LED10.
Definition: scmTypes.h:588
@ MIFARE_DES
Mifare desfire.
Definition: scmTypes.h:38
@ PA_DISABLE
Disable Payment application.
Definition: scmTypes.h:282
@ VEHICLE
Vehicle id.
Definition: scmTypes.h:358
Device polling parameter.
Definition: scmTypes.h:390
@ REDSYS_GW
The payment terminal has communications with Redsys.
Definition: scmTypes.h:274
LedColor
Led color.
Definition: scmTypes.h:593
DeviceType
Definition: scmTypes.h:793
@ UPDATE_INSTALLED
UPDATE_INSTALLED.
Definition: scmTypes.h:544
std::string deviceId
Device name.
Definition: scmTypes.h:530
@ STATE_TRANSFERRING
State transferring.
Definition: scmTypes.h:555
@ LEDLOGO1
LEDLOGO1.
Definition: scmTypes.h:589
std::uint32_t hours
hours
Definition: scmTypes.h:672
LogLevel
Logging Level values indicating severity of the logs.
Definition: scmTypes.h:715
Structure defining a sound inside a media profile.
Definition: scmTypes.h:569
It contains the information related to get the Payment Application information.
Definition: scmTypes.h:313
std::string appVersion
Application version.
Definition: scmTypes.h:240
A simple card operation.
Definition: scmTypes.h:103
std::string netmask
Subnet mask.
Definition: scmTypes.h:255
@ CONTACTLESS_BAND
Banc contactless card.
Definition: scmTypes.h:463
@ TRADE_ALLOCATION
Query for assigning the trade allocation.
Definition: scmTypes.h:441
std::string address
Remote IP address to log the data to.
Definition: scmTypes.h:728
@ PREPAID
Prepaid card.
Definition: scmTypes.h:452
@ TRANSACTION_DENIED
The transaction was refused.
Definition: scmTypes.h:425
std::uint32_t day
day
Definition: scmTypes.h:673
Structure defining a group of LEDs inside a media profile.
Definition: scmTypes.h:613
char32_t expectedResponseLen
Length.
Definition: scmTypes.h:82
std::uint32_t year
year
Definition: scmTypes.h:675
@ ERROR
Error Logging Level.
Definition: scmTypes.h:720
std::string PAN
Credit card PAN (123456******5678/123456*********5678)
Definition: scmTypes.h:477
std::string deviceId
Device Id.
Definition: scmTypes.h:209
ApduRxData rxData
APDU exchange for receptions.
Definition: scmTypes.h:122
@ SYSTEM
System component.
Definition: scmTypes.h:709
@ STATE_ROLLING_BACK
State rolling back.
Definition: scmTypes.h:556
@ PASSBACK_TIMER
Timer for counting the consecutive logins.
Definition: scmTypes.h:350
std::string timestamp
When it was taken the information.
Definition: scmTypes.h:179
char32_t param1
Instruction parameter 1.
Definition: scmTypes.h:80
std::string mediaProfileId
Media profile ID.
Definition: scmTypes.h:517
@ FOURTH
Reset slot 4.
Definition: scmTypes.h:740
Play profile.
Definition: scmTypes.h:514
@ UX412
Verifone - Ux412.
Definition: scmTypes.h:788
@ NA_TECH
Not available technology.
Definition: scmTypes.h:460
@ PLUGIN
Plugin.
Definition: scmTypes.h:746
A structure to fix the authentication keys.
Definition: scmTypes.h:61
@ BOOT
Boot device.
Definition: scmTypes.h:20
DateTime struct which contains the response received from the service.
Definition: scmTypes.h:667
@ MAGNETIC_BAND
Magnetic band card.
Definition: scmTypes.h:466
char32_t instruction
Instruction code.
Definition: scmTypes.h:79
Device full version.
Definition: scmTypes.h:245
AppStatus
Payment Application status.
Definition: scmTypes.h:278
@ CONTACTLESS_EMV_CARD
EMV contactless card.
Definition: scmTypes.h:461
std::string timestamp
The time stamp of when the information was take it.
Definition: scmTypes.h:154
@ INCREMENT_ONLY
Increment command.
Definition: scmTypes.h:98
@ TRANSFER
Transfer command.
Definition: scmTypes.h:94
@ TRANSPORT_OPERATOR_ID
Transport operator identifier.
Definition: scmTypes.h:335
WorkMode mode
Work mode indicator.
Definition: scmTypes.h:288
std::string operationId
Operation identifier.
Definition: scmTypes.h:478
std::map< std::string, std::string > data
Plugin data map.
Definition: scmTypes.h:781
std::string filename
Filename.
Definition: scmTypes.h:761
@ WHITE
WHITE.
Definition: scmTypes.h:596
Action
Power action events.
Definition: scmTypes.h:18
std::string protocol
File transfer protocol.
Definition: scmTypes.h:228
LedId
Led identifier.
Definition: scmTypes.h:576
PollingParameter pollingParameter
Polling parameter.
Definition: scmTypes.h:393
@ NA_MODE
Not available.
Definition: scmTypes.h:272
@ DEBIT
Debit card.
Definition: scmTypes.h:449
std::string plugin_name
Plugin name.
Definition: scmTypes.h:780
@ INSTALLING_ROLLBACK_PACKAGE
INSTALLING_ROLLBACK_PACKAGE.
Definition: scmTypes.h:545
@ CLIENT_TICKET
The payment terminal shall generate the client ticket.
Definition: scmTypes.h:401
@ REBOOT
Reboot.
Definition: scmTypes.h:26
std::string deviceId
Device name.
Definition: scmTypes.h:392
std::string timestamp
When it was taken the information.
Definition: scmTypes.h:211
@ TRANSACTION_MODE_CONF
Transaction mode configuration.
Definition: scmTypes.h:341
@ EMPLOYEE_ID
It indicates the employee id.
Definition: scmTypes.h:357
@ DOWNLOADING_UPDATES
DOWNLOADING_UPDATES.
Definition: scmTypes.h:540
char32_t priority
Card priority (-1 by default when a priority is not chosen)
Definition: scmTypes.h:136
@ NA_STATUS
Not available.
Definition: scmTypes.h:280
PlayProfile playProfile
play profile
Definition: scmTypes.h:524
TicketMode
Ticket printing configurations.
Definition: scmTypes.h:397
Basic information for get the version.
Definition: scmTypes.h:234
@ PA_ENABLE
Enable Payment application.
Definition: scmTypes.h:281
std::string dnsServer
DNS server IP address.
Definition: scmTypes.h:257
@ FINANCIAL_BLACK_LIST
Enable/disable financial blacklist. Available values: "on", "off".
Definition: scmTypes.h:347
std::string deviceId
Device name.
Definition: scmTypes.h:779
std::string uid
UID card.
Definition: scmTypes.h:408
std::string deviceId
Device name.
Definition: scmTypes.h:695
@ CONFIGURATION
Configuration component.
Definition: scmTypes.h:705
@ LED7
LED7.
Definition: scmTypes.h:585
std::string paymentAppVersion
The software version of the payment application (EMV)
Definition: scmTypes.h:241
unsigned int duration_ms
Time the sound will remain active in milliseconds.
Definition: scmTypes.h:572
std::string deviceId
Device name.
Definition: scmTypes.h:688
std::string gateway
Gateway.
Definition: scmTypes.h:256
std::vector< KeyGroup > keys
List of keys.
Definition: scmTypes.h:218
std::string ats
ATS.
Definition: scmTypes.h:157
unsigned int hour
PCI Data Security Standard reboot hour.
Definition: scmTypes.h:531
RequestType type
Type of the request.
Definition: scmTypes.h:476
std::string buffer
The content.
Definition: scmTypes.h:108
std::string name
Artifact name.
Definition: scmTypes.h:760
@ KEY_B
B type.
Definition: scmTypes.h:57
Key group.
Definition: scmTypes.h:192
std::string deviceid
The name of the device which belongs to.
Definition: scmTypes.h:170
All the date related to the reader information.
Definition: scmTypes.h:168
Confirmation charge.
Definition: scmTypes.h:500
std::string price
Price.
Definition: scmTypes.h:409
ProductTypeId
Product type identifier.
Definition: scmTypes.h:446
@ TRANSPORT_NFC
Transport_nfc component.
Definition: scmTypes.h:707
@ CONTACTLESS_BAND_NFC
Band NFC contactless card.
Definition: scmTypes.h:464
std::string keys
Key index.
Definition: scmTypes.h:188
@ TRANSACTION_AUTHORIZED
The transaction was authorized.
Definition: scmTypes.h:424
All data card structure.
Definition: scmTypes.h:113
@ RESTART_APPS
Restart apps, if needed.
Definition: scmTypes.h:754
unsigned int duration_ms
Time the list of LEDs will remain in the state.
Definition: scmTypes.h:616
@ STATE_INSTALLING
State installing.
Definition: scmTypes.h:557
LogLevel logLevel
Log Level indicating the severity of the logs.
Definition: scmTypes.h:727
std::vector< Reader > readers
List of readers.
Definition: scmTypes.h:210
@ DECREMENT
Decrement command.
Definition: scmTypes.h:97
@ CALYPSO
Calypso.
Definition: scmTypes.h:42
A structure to store keys.
Definition: scmTypes.h:184
Structure defining LED parameters.
Definition: scmTypes.h:606
@ MIFARE_1K
Mifare 1K.
Definition: scmTypes.h:34
CardType
Available card types.
Definition: scmTypes.h:31
@ NA_COLOR
NA_COLOR.
Definition: scmTypes.h:595
std::string deviceId
Device name.
Definition: scmTypes.h:247
@ ALL_SAMS
Reset all device slots.
Definition: scmTypes.h:736
std::string timestamp
Date.
Definition: scmTypes.h:483
std::string profileId
Media Profile identifier.
Definition: scmTypes.h:622
WorkMode mode
Work mode indicator.
Definition: scmTypes.h:315
@ LANGUAGE
Terminal language. Available languages: "spanish", "catalan", "english", "french",...
Definition: scmTypes.h:352
unsigned int time_ms
Average time on reaching that address.
Definition: scmTypes.h:697
std::string dhcp
DHCP on or off.
Definition: scmTypes.h:258
char32_t priority
Card priority (-1 by default when a priority is not chosen)
Definition: scmTypes.h:125
std::vector< Key > key
Vector of keys.
Definition: scmTypes.h:195
std::string uid
UID card.
Definition: scmTypes.h:502
KeyType keytype
The key type.
Definition: scmTypes.h:63
@ NOT_INITIALISED
The payment terminal has not been initialised.
Definition: scmTypes.h:306
std::vector< Command > commands
Command list.
Definition: scmTypes.h:648
@ UNKOWN_TECH
No know technology.
Definition: scmTypes.h:467
@ SOFT
Reboot only application.
Definition: scmTypes.h:681
Device confirmation charge.
Definition: scmTypes.h:507
@ STATE_FINISHING
State rebooting.
Definition: scmTypes.h:558
@ AUTH
Authentication operation.
Definition: scmTypes.h:90
char32_t errorCode
SCM error code which informs about the operation result.
Definition: scmTypes.h:109
Component
Defines the type of components or applications inside the SCM device.
Definition: scmTypes.h:701
std::vector< CardOperation > operation
Operation to be performance.
Definition: scmTypes.h:203
char32_t sw2
SW2.
Definition: scmTypes.h:71
std::string deviceId
Device Id.
Definition: scmTypes.h:631
KeyType keytype
Key type.
Definition: scmTypes.h:186
std::string outRawData
Data structure for outputs.
Definition: scmTypes.h:120
@ CONTACTLESS_EMV_NFC
EMV NFC contactless card.
Definition: scmTypes.h:462
@ DISABLE_TICKET
The payment terminal must not generate operation ticket.
Definition: scmTypes.h:400
char32_t index
The block number which is wanted to start.
Definition: scmTypes.h:105