00001 #ifndef _ABSTRACT_MECHANISM_H 00002 #define _ABSTRACT_MECHANISM_H 00003 00004 #include "Mechanism.h" 00005 00010 class AbstractMechanism : public Mechanism 00011 { 00012 public: 00016 virtual ~AbstractMechanism(void); 00017 00018 string getName(void); 00025 CK_RV getInfo(CK_MECHANISM_INFO_PTR infoOut); 00030 CK_MECHANISM_TYPE getType(void); 00031 CK_ULONG getMinKeySize(void); 00032 CK_ULONG getMaxKeySize(void); 00033 CK_FLAGS getFlags(void); 00034 00035 protected: 00036 CK_MECHANISM_INFO info; 00037 AbstractMechanism(CK_MECHANISM_TYPE type,const char* name); 00038 CK_MECHANISM_TYPE type; 00039 char* name; 00040 static CK_OBJECT_CLASS CLASS; 00041 00042 private: 00043 00044 00045 }; 00046 #endif