AppCore
Loading...
Searching...
No Matches
EChipCard.h
Go to the documentation of this file.
1#ifndef ECHIPCARD_H
2#define ECHIPCARD_H
3
4#include <map>
5#include <vector>
6
7#include "commondevices/devicesystem/EDeviceInterface.h"
8#include "core/common/ESingleton.h"
9#include "core/common/eplatform.h"
10#include "eptrequest/eaplrequest/ERequestDataType.h"
11#include "eptrequest/EApplicationError.h"
12#include "eabstractrequest/EDataCollection.h"
13#include "eappchipcard/eappchipcard.h"
14
15class QString;
16
17namespace EM
18{
19 namespace PT
20 {
21 struct SAM_INFO;
22 class EAbstractCardData;
23 class EPTSetup;
24 class EPTAnswer;
25 }
26}
27
28namespace EM
29{
30 namespace Devices
31 {
32 class ECardExtraOperationManager;
33
34 class EChipCard: public EDeviceInterface, public ESingleton <EChipCard>
35 {
36 public:
41 virtual unsigned long GetID( void );
42
52 EM::PT::EApplicationError SendRequestSynchronous( PT::EDataCollection *readRequest, PT::EDataCollection *&answer, const long timeout = 1000 );
53
61 EM::PT::EApplicationError SendReadRequestSynchronous( const unsigned short dataTypesOperation, const long timeout = 1000 , bool ignoreErrors = true, PT::EDataCollection::SCSLockStatus SCSLock = PT::EDataCollection::SCSLockStatusLockAfterCardApproaching );
62
71 EM::PT::EApplicationError SendRequest( PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver = NULL );
72
79 EM::PT::EApplicationError SendReadRequest( const unsigned short dataTypesOperation, EDeviceReceiver *deviceReceiver = NULL , bool ignoreErrors = true , PT::EDataCollection::SCSLockStatus SCSLock = PT::EDataCollection::SCSLockStatusLockAfterCardApproaching );
80
90 EM::PT::EApplicationError SendAplRequestWrite( EM::PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver = NULL, const long timeout = -1, PT::EDataCollection::SCSLockStatus SCSLock = PT::EDataCollection::SCSLockStatusLockAfterCardApproaching );
91
97 EM::PT::EApplicationError BreakReadRequestAndDisableReceiver();
98
107 EM::PT::EApplicationError BreakReadRequest();
108
117 bool SetDefaultReceiver();
118
124 EM::PT::EApplicationError SendAplRequestReadCardImage( EDeviceReceiver *deviceReceiver );
125
131 EM::PT::EApplicationError SendSetup( EM::PT::EPTSetup* ptSetup );
132
137 void SetClientSnr( const unsigned long snr );
138
143 unsigned long GetClientSnr();
144
150
156 bool WasOperationStarted( EM::PT::EPTAnswer *answer );
157
162 void SetDefaultTimeout( const long timeout );
163
167 void SetCollectionSaving( bool save );
168
174
179 bool IsCardImageRequest();
180
185 void CardImageReceived();
186
191 bool BreakWriteRequest();
192
198 EM::PT::EApplicationError BreakWriteRequestSynchronous( unsigned long timeout = 1000 );
199
204 unsigned long GetTagReceiver() const;
205
211 EM::PT::EApplicationError GetSamModulesInfo( std::map< unsigned long, EM::PT::SAM_INFO > &connectedSamModules );
212
219 EM::PT::EApplicationError SamUpdateProcess( std::string login, std::string pin );
220
226 bool IsTimeIntervalForSamUpdateExceeded( const unsigned intervalInDays ) const;
227
232 EM::PT::EApplicationError SamUpdateCheck();
233
239 EM::PT::EApplicationError GetSamInfo( EM::PT::EAbstractCardData *samInfo );
240
246 bool GetSamIDs( std::vector<QString> &samIDs );
247
254 EM::PT::EApplicationError SwitchAntenna( bool switchOff );
255
262 EM::PT::EApplicationError SwitchEmvDetect( bool switchOff );
263
276 bool SelectCard( unsigned char *uid, unsigned char &uidSize, CLCardType &cardType );
277
292 bool SendAPDU( unsigned char *sendCmd, unsigned long sendCmdSize, unsigned char *rcvResponse, unsigned long &rcvResponseSize );
293
300 EM::PT::EApplicationError SmartCardServiceLockRequest( bool immediateLock );
302
303 bool VerifyDataProcess( const unsigned char *data, const uint32_t dataSize, const unsigned char *signature, const uint32_t signatureSize, const uint8_t signatureType );
304
305 protected:
311 virtual bool OnInit( EXMLNode *xmlNode );
317 virtual bool OnInit( EDriverProperties properties );
318
319 private:
321
322 EChipCard();
323 virtual ~EChipCard(); // !!! pred deletom je potrebne rcv odstranit z kolekcie
324 EChipCard( const EChipCard& );
325 void operator=( const EChipCard& );
326
327 class DataClass;
328 DataClass *d;
329
330 friend class ESingleton <EChipCard>;
331
333 };
334 }
335}
336#endif
Definition ECardExtraOperationM.h:24
Definition EChipCard.h:35
bool IsCollectionSavingEnabled()
IsCollectionSavingEnabled.
Definition EChipCard.cpp:765
bool SetDefaultReceiver()
SetDefaultReceiver sets first receiver from colletion of device receivers.
Definition EChipCard.cpp:622
EM::PT::EApplicationError BreakWriteRequestSynchronous(unsigned long timeout=1000)
BreakWriteRequestSynchronous - calls synchronous BreakWriteRequest in default chipcard driver with ti...
Definition EChipCard.cpp:794
EM::PT::EApplicationError SendRequest(PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver=NULL)
SendRequest - sends request via default chipcard driver.
bool VerifyDataProcess(const unsigned char *data, const uint32_t dataSize, const unsigned char *signature, const uint32_t signatureSize, const uint8_t signatureType)
Definition EChipCard.cpp:1077
void SmartCardServiceUnlockRequest()
Definition EChipCard.cpp:1065
bool GetSamIDs(std::vector< QString > &samIDs)
GetSamID returns SAM ID of all installed HW SAMs.
EM::PT::EApplicationError SendReadRequestSynchronous(const unsigned short dataTypesOperation, const long timeout=1000, bool ignoreErrors=true, PT::EDataCollection::SCSLockStatus SCSLock=PT::EDataCollection::SCSLockStatusLockAfterCardApproaching)
EM::PT::EApplicationError GetSamInfo(EM::PT::EAbstractCardData *samInfo)
GetSamInfo.
ECardExtraOperationManager * GetCardExtraOperationManager()
GetCardExtraOperationManager.
Definition EChipCard.cpp:714
EM::PT::EApplicationError SendAplRequestReadCardImage(EDeviceReceiver *deviceReceiver)
Definition EChipCard.cpp:638
unsigned long GetClientSnr()
GetClientSnr.
Definition EChipCard.cpp:700
bool IsTimeIntervalForSamUpdateExceeded(const unsigned intervalInDays) const
IsTimeIntervalForSamUpdateExceeded - every time we successfully process SAM update,...
Definition EChipCard.cpp:886
void SetDefaultTimeout(const long timeout)
Definition EChipCard.cpp:755
bool SendAPDU(unsigned char *sendCmd, unsigned long sendCmdSize, unsigned char *rcvResponse, unsigned long &rcvResponseSize)
Send APDU to card.
Definition EChipCard.cpp:1005
bool BreakWriteRequest()
BreakWriteRequest - calls BreakWriteRequest() in default chipcard driver.
Definition EChipCard.cpp:783
EM::PT::EApplicationError GetSamModulesInfo(std::map< unsigned long, EM::PT::SAM_INFO > &connectedSamModules)
GetSamModulesInfo - method to gain information about SAM modules present in system,...
bool IsCardImageRequest()
IsCardImageRequest.
Definition EChipCard.cpp:770
EM::PT::EApplicationError BreakReadRequest()
Definition EChipCard.cpp:601
EM::PT::EApplicationError BreakReadRequestAndDisableReceiver()
Definition EChipCard.cpp:579
EM::PT::EApplicationError SamUpdateProcess(std::string login, std::string pin)
SamUpdate - method for SAM update.
Definition EChipCard.cpp:842
EM::PT::EApplicationError SendAplRequestWrite(EM::PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver=NULL, const long timeout=-1, PT::EDataCollection::SCSLockStatus SCSLock=PT::EDataCollection::SCSLockStatusLockAfterCardApproaching)
EM::PT::EApplicationError SendRequestSynchronous(PT::EDataCollection *readRequest, PT::EDataCollection *&answer, const long timeout=1000)
SendRequestSynchronous - read data from card and automatically update that data to card facade.
EM::PT::EApplicationError SmartCardServiceLockRequest(bool immediateLock)
SmartCardServiceLockRequest send synchronous request to lock SmartCardService immediately.
Definition EChipCard.cpp:1018
virtual unsigned long GetID(void)
GetID.
Definition EChipCard.cpp:372
EM::PT::EApplicationError SwitchAntenna(bool switchOff)
SwitchAntenna - synchronous method for reader antenna switch on/off.
Definition EChipCard.cpp:950
void CardImageReceived()
CardImageReceived clears flag Card Image Request.
Definition EChipCard.cpp:775
EM::PT::EApplicationError SwitchEmvDetect(bool switchOff)
SwitchEmvDetect - synchronous method for reader emv detect on/off.
Definition EChipCard.cpp:969
EM::PT::EApplicationError SamUpdateCheck()
SamUpdateCheck - Asynchronous method for checking status for SAM update - should be calling on IssueO...
Definition EChipCard.cpp:919
virtual bool OnInit(EXMLNode *xmlNode)
Definition EChipCard.cpp:273
void SetClientSnr(const unsigned long snr)
SetClientSnr - sets client snr to default chipCardDriver.
Definition EChipCard.cpp:686
bool SelectCard(unsigned char *uid, unsigned char &uidSize, CLCardType &cardType)
Select card.
Definition EChipCard.cpp:992
void SetCollectionSaving(bool save)
SetCollectionSaving.
Definition EChipCard.cpp:760
EM::PT::EApplicationError SendReadRequest(const unsigned short dataTypesOperation, EDeviceReceiver *deviceReceiver=NULL, bool ignoreErrors=true, PT::EDataCollection::SCSLockStatus SCSLock=PT::EDataCollection::SCSLockStatusLockAfterCardApproaching)
Definition EChipCard.cpp:519
EM::PT::EApplicationError SendSetup(EM::PT::EPTSetup *ptSetup)
SendSetup - sends.
bool WasOperationStarted(EM::PT::EPTAnswer *answer)
WasOperationStarted - looks for started operation in.
unsigned long GetTagReceiver() const
GetTagReceiver.
Definition EChipCard.cpp:811
SYSTEM INCLUDES.
Definition CardFacadeManagerXML.h:7