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
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
180
186
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
EM::PT::EApplicationError SwitchEmvDetect(bool switchOff)
SwitchEmvDetect - synchronous method for reader emv detect on/off.
bool IsCollectionSavingEnabled()
IsCollectionSavingEnabled.
EM::PT::EApplicationError SendReadRequest(const unsigned short dataTypesOperation, EDeviceReceiver *deviceReceiver=NULL, bool ignoreErrors=true, PT::EDataCollection::SCSLockStatus SCSLock=PT::EDataCollection::SCSLockStatusLockAfterCardApproaching)
void SmartCardServiceUnlockRequest()
EM::PT::EApplicationError SendRequest(PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver=NULL)
SendRequest - sends request via default chipcard driver.
void CardImageReceived()
CardImageReceived clears flag Card Image Request.
bool GetSamIDs(std::vector< QString > &samIDs)
GetSamID returns SAM ID of all installed HW SAMs.
EM::PT::EApplicationError SamUpdateCheck()
SamUpdateCheck - Asynchronous method for checking status for SAM update - should be calling on IssueO...
void SetClientSnr(const unsigned long snr)
SetClientSnr - sets client snr to default chipCardDriver.
EM::PT::EApplicationError BreakReadRequestAndDisableReceiver()
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.
unsigned long GetTagReceiver() const
GetTagReceiver.
void SetDefaultTimeout(const long timeout)
void SetCollectionSaving(bool save)
SetCollectionSaving.
EM::PT::EApplicationError BreakReadRequest()
ECardExtraOperationManager * GetCardExtraOperationManager()
GetCardExtraOperationManager.
bool IsTimeIntervalForSamUpdateExceeded(const unsigned intervalInDays) const
IsTimeIntervalForSamUpdateExceeded - every time we successfully process SAM update,...
EM::PT::EApplicationError BreakWriteRequestSynchronous(unsigned long timeout=1000)
BreakWriteRequestSynchronous - calls synchronous BreakWriteRequest in default chipcard driver with ti...
bool IsCardImageRequest()
IsCardImageRequest.
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 VerifyDataProcess(const unsigned char *data, const uint32_t dataSize, const unsigned char *signature, const uint32_t signatureSize, const uint8_t signatureType)
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 SmartCardServiceLockRequest(bool immediateLock)
SmartCardServiceLockRequest send synchronous request to lock SmartCardService immediately.
EM::PT::EApplicationError SwitchAntenna(bool switchOff)
SwitchAntenna - synchronous method for reader antenna switch on/off.
virtual bool OnInit(EDriverProperties properties)
OnInit - if device name is not "PT" or "ECHIPCARD", then break. Else create new chip card driver with...
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.
unsigned long GetClientSnr()
GetClientSnr.
bool SelectCard(unsigned char *uid, unsigned char &uidSize, CLCardType &cardType)
Select card.
virtual bool OnInit(EXMLNode *xmlNode)
bool BreakWriteRequest()
BreakWriteRequest - calls BreakWriteRequest() in default chipcard driver.
EM::PT::EApplicationError SendAplRequestReadCardImage(EDeviceReceiver *deviceReceiver)
bool SendAPDU(unsigned char *sendCmd, unsigned long sendCmdSize, unsigned char *rcvResponse, unsigned long &rcvResponseSize)
Send APDU to card.
EM::PT::EApplicationError SendSetup(EM::PT::EPTSetup *ptSetup)
SendSetup - sends.
EM::PT::EApplicationError SamUpdateProcess(std::string login, std::string pin)
SamUpdate - method for SAM update.
bool WasOperationStarted(EM::PT::EPTAnswer *answer)
WasOperationStarted - looks for started operation in.
bool SetDefaultReceiver()
SetDefaultReceiver sets first receiver from colletion of device receivers.
virtual unsigned long GetID(void)
GetID.
SYSTEM INCLUDES.
Definition CardFacadeManagerXML.h:7