AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
15 class QString;
16 
17 namespace EM
18 {
19  namespace PT
20  {
21  struct SAM_INFO;
22  class EAbstractCardData;
23  class EPTSetup;
24  class EPTAnswer;
25  }
26 }
27 
28 namespace 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 
149  ECardExtraOperationManager *GetCardExtraOperationManager();
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
EM::PT::EApplicationError SwitchEmvDetect(bool switchOff)
SwitchEmvDetect - synchronous method for reader emv detect on/off.
Definition: EChipCard.cpp:969
bool SetDefaultReceiver()
SetDefaultReceiver sets first receiver from colletion of device receivers.
Definition: EChipCard.cpp:622
bool BreakWriteRequest()
BreakWriteRequest - calls BreakWriteRequest() in default chipcard driver.
Definition: EChipCard.cpp:783
ECardExtraOperationManager * GetCardExtraOperationManager()
GetCardExtraOperationManager.
Definition: EChipCard.cpp:714
EM::PT::EApplicationError BreakReadRequestAndDisableReceiver()
Definition: EChipCard.cpp:579
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
bool GetSamIDs(std::vector< QString > &samIDs)
GetSamID returns SAM ID of all installed HW SAMs.
virtual bool OnInit(EXMLNode *xmlNode)
INTERNAL.
Definition: EChipCard.cpp:273
void SmartCardServiceUnlockRequest()
Definition: EChipCard.cpp:1065
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 GetSamInfo(EM::PT::EAbstractCardData *samInfo)
GetSamInfo.
EM::PT::EApplicationError SendReadRequestSynchronous(const unsigned short dataTypesOperation, const long timeout=1000, bool ignoreErrors=true, PT::EDataCollection::SCSLockStatus SCSLock=PT::EDataCollection::SCSLockStatusLockAfterCardApproaching)
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
bool IsCollectionSavingEnabled()
IsCollectionSavingEnabled.
Definition: EChipCard.cpp:765
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 GetSamModulesInfo(std::map< unsigned long, EM::PT::SAM_INFO > &connectedSamModules)
GetSamModulesInfo - method to gain information about SAM modules present in system, while.
EM::PT::EApplicationError SendSetup(EM::PT::EPTSetup *ptSetup)
SendSetup - sends.
EM::PT::EApplicationError SendAplRequestReadCardImage(EDeviceReceiver *deviceReceiver)
Definition: EChipCard.cpp:638
bool WasOperationStarted(EM::PT::EPTAnswer *answer)
WasOperationStarted - looks for started operation in.
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
void SetCollectionSaving(bool save)
SetCollectionSaving.
Definition: EChipCard.cpp:760
unsigned long GetTagReceiver() const
GetTagReceiver.
Definition: EChipCard.cpp:811
EM::PT::EApplicationError SamUpdateProcess(std::string login, std::string pin)
SamUpdate - method for SAM update.
Definition: EChipCard.cpp:842
EM::PT::EApplicationError SendRequest(PT::EDataCollection *dataCollection, EDeviceReceiver *deviceReceiver=NULL)
SendRequest - sends request via default chipcard driver.
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
bool SelectCard(unsigned char *uid, unsigned char &uidSize, CLCardType &cardType)
Select card.
Definition: EChipCard.cpp:992
EM::PT::EApplicationError BreakReadRequest()
Definition: EChipCard.cpp:601
unsigned long GetClientSnr()
GetClientSnr.
Definition: EChipCard.cpp:700
EM::PT::EApplicationError SamUpdateCheck()
SamUpdateCheck - Asynchronous method for checking status for SAM update - should be calling on IssueO...
Definition: EChipCard.cpp:919
void SetDefaultTimeout(const long timeout)
Definition: EChipCard.cpp:755
SYSTEM INCLUDES.
Definition: CardFacadeManagerXML.h:6
void CardImageReceived()
CardImageReceived clears flag Card Image Request.
Definition: EChipCard.cpp:775
EM::PT::EApplicationError SmartCardServiceLockRequest(bool immediateLock)
SmartCardServiceLockRequest send synchronous request to lock SmartCardService immediately.
Definition: EChipCard.cpp:1018
bool IsTimeIntervalForSamUpdateExceeded(const unsigned intervalInDays) const
IsTimeIntervalForSamUpdateExceeded - every time we successfully process SAM update, we mark this date so we can check how many days have passed since then.
Definition: EChipCard.cpp:886
EM::PT::EApplicationError SwitchAntenna(bool switchOff)
SwitchAntenna - synchronous method for reader antenna switch on/off.
Definition: EChipCard.cpp:950
virtual unsigned long GetID(void)
GetID.
Definition: EChipCard.cpp:372
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...
bool IsCardImageRequest()
IsCardImageRequest.
Definition: EChipCard.cpp:770
bool SendAPDU(unsigned char *sendCmd, unsigned long sendCmdSize, unsigned char *rcvResponse, unsigned long &rcvResponseSize)
Send APDU to card.
Definition: EChipCard.cpp:1005
void SetClientSnr(const unsigned long snr)
SetClientSnr - sets client snr to default chipCardDriver.
Definition: EChipCard.cpp:686