20#ifndef _TDECRYPTOGRAPHICCARDDEVICE_PRIVATE_H
21#define _TDECRYPTOGRAPHICCARDDEVICE_PRIVATE_H
23#include "tdegenericdevice.h"
33 #include <pkcs11-helper-1.0/pkcs11h-certificate.h>
34 #include <pkcs11-helper-1.0/pkcs11h-openssl.h>
35 #include <openssl/x509v3.h>
36 #define PKCS11H_PROMPT_MASK_ALLOW_NONE (PKCS11H_PROMPT_MASK_ALLOW_ALL & ~PKCS11H_PROMPT_MASK_ALLOW_ALL)
39class TDECryptographicCardDevice;
41class CryptoCardDeviceWatcher :
public TQObject
46 CryptoCardDeviceWatcher();
47 ~CryptoCardDeviceWatcher();
51 void requestTermination();
52 TQString getCardATR(TQString readerName);
53 int retrieveCardCertificates(TQString readerName);
56 void statusChanged(TQString, TQString);
57 void pinRequested(TQString);
61 TQString doPinRequest(TQString prompt);
62 void setProvidedPin(TQString pin);
63 void retrySamePin(
bool enable);
64 void enablePINEntryCallbacks(
bool enable);
67 TDECryptographicCardDevice *cardDevice;
70 void deleteAllCertificatesFromCache();
73 bool m_terminationRequested;
74 bool m_pinCallbacksEnabled;
76 bool m_cardPINPromptDone;
79 SCARDCONTEXT m_cardContext;
80 SCARD_READERSTATE *m_readerStates;