00001 00010 #ifndef __REVOCATIONINFO_H__ 00011 #define __REVOCATIONINFO_H__ 00012 00013 #include "PKIFSCVPDLL.h" 00014 00015 // forward declarations 00016 struct CPKIFRevocationInfoImpl; 00017 00018 FD_SMART_PTR(CPKIFCRL); 00019 FD_SMART_PTR(CPKIFBuffer); 00020 00021 enum REVINFOTYPE {REVINFOTYPE_CRL, REVINFOTYPE_DELTACRL, REVINFOTYPE_OCSPRESP, REVINFOTYPE_OTHER, REVINFOTYPE_NONE}; 00022 00028 class PKIFSCVP_API CPKIFRevocationInfo 00029 { 00030 public: 00031 CPKIFRevocationInfo(); 00032 CPKIFRevocationInfo(const CPKIFBufferPtr& revInfo); 00033 virtual ~CPKIFRevocationInfo(void); 00034 00035 void SetCRL(CPKIFCRLPtr& crl); 00036 CPKIFCRLPtr GetCRL(); 00037 00038 void SetDeltaCRL(CPKIFCRLPtr& deltaCRL); 00039 CPKIFCRLPtr GetDeltaCRL(); 00040 00041 void SetOCSPResp(CPKIFBufferPtr& ocsp); 00042 CPKIFBufferPtr GetOCSPResp(); 00043 00044 void SetOtherRevInfo(CPKIFOIDPtr& riType, CPKIFBufferPtr& riValue); 00045 void GetOtherRevInfo(CPKIFOIDPtr& riType, CPKIFBufferPtr& riValue); 00046 00047 REVINFOTYPE GetRevInfoType(); 00048 00049 private: 00051 CPKIFRevocationInfo(const CPKIFRevocationInfo& copy); 00053 CPKIFRevocationInfo& operator=(const CPKIFRevocationInfo& rhs); 00054 00055 struct CPKIFRevocationInfoImpl *m_impl; 00056 }; 00057 DECLARE_SMART_POINTERS(CPKIFRevocationInfo); 00058 00059 typedef std::vector<CPKIFRevocationInfoPtr, PKIFAlloc<CPKIFRevocationInfoPtr> > CPKIFRevocationInfoList; 00060 DECLARE_SMART_POINTERS(CPKIFRevocationInfoList); 00061 00062 00063 #endif //__REVOCATIONINFO_H__