00001 00009 #ifndef __CRLEntry_H__ 00010 #define __CRLEntry_H__ 00011 00012 #include "PKIFdll.h" 00013 // #define CAC_API_FACTORY CAC_API 00014 #define CAC_API_FACTORY 00015 00016 #include "IPKIFHasExtensions.h" 00017 #include <vector> 00018 #include "X509Extension.h" 00019 00020 // forward declaration 00021 struct CPKIFCRLEntryImpl; 00022 00023 FD_SMART_PTR(CPKIFTime); 00024 00038 class CAC_API CPKIFCRLEntry : public IPKIFHasExtensions 00039 { 00040 public: 00041 CPKIFCRLEntry(); 00042 CPKIFCRLEntry(const CPKIFBufferPtr& buf); 00043 virtual ~CPKIFCRLEntry(); 00044 00045 bool AreThereAnyUnprocessedCriticalExtensions(std::vector<CPKIFX509ExtensionPtr>& processedExts); 00046 00047 virtual void GetEncodedExtensions (CPKIFBufferPtr& buf); 00048 virtual void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref); 00049 00050 virtual const char* SerialNumber() const; 00051 virtual const CPKIFTimePtr RevocationDate() const; 00052 00053 00054 private: 00055 CPKIFCRLEntry(const CPKIFCRLEntry& ext); 00056 CPKIFCRLEntry& operator=(const CPKIFCRLEntry& rhs); //added 4/6/2004 00057 00058 struct CPKIFCRLEntryImpl *m_impl; 00059 }; 00060 DECLARE_SMART_POINTERS(CPKIFCRLEntry); 00061 00062 #endif