00001 00011 #ifndef __PKIFREVOCATIONSTATUSMEDIATOR2_H__ 00012 #define __PKIFREVOCATIONSTATUSMEDIATOR2_H__ 00013 00014 //include toolkit header files 00015 #include "PKIFdll.h" 00016 #include "PKIFMediators.h" 00017 #include "PKIFRevocationStatusInterfaces.h" 00018 #include "components.h" 00019 00020 //include necessary standard library pieces 00021 #include <vector> 00022 00023 00024 // forward declaration 00025 struct CPKIFRevocationStatusMediator2Impl; 00026 class CPKIFException; 00027 class CPKIFPath; 00028 FD_SMART_PTR(CPKIFCertificate); 00029 00057 class CAC_API CPKIFRevocationStatusMediator2 : public IPKIFMediator, public IPKIFRevocationStatus 00058 { 00059 public: 00060 CPKIFRevocationStatusMediator2(bool addDefaultColleagues = false); 00061 virtual ~CPKIFRevocationStatusMediator2(); 00062 00063 //IPKIFMediator functions 00064 void InitializeMediator(std::vector<CPKIFException*>* errorInfo); 00065 void Terminate(); 00066 00067 //IPKIFColleague functions 00068 void Initialize(); 00069 00070 void GetColleagues(std::vector<IPKIFColleaguePtr>& v) const; 00071 00072 //Miscellaneous functions 00073 void AddColleague(IPKIFColleaguePtr& module); 00074 00075 void SetCacheCertStatus(bool bCacheCertStatus); 00076 bool GetCacheCertStatus() const; 00077 00078 //IPKIFRevocationStatus functions 00079 bool CheckStatus(const CPKIFCertificatePtr& cert, const CPKIFCertificatePtr& issuersCert, RevocationStatus& status, CPKIFCertStatusPtr& certStatus); 00080 bool CheckStatusPath(CPKIFCertificatePath& path, RevocationStatus& status); 00081 00082 private: 00084 CPKIFRevocationStatusMediator2(const CPKIFRevocationStatusMediator2& copy); 00086 CPKIFRevocationStatusMediator2& operator=(const CPKIFRevocationStatusMediator2& rhs); //added 4/6/2004 00087 00088 enum { thisComponent = TOOLKIT_PATH_REV_STATUS_MEDIATOR }; 00089 00090 CPKIFRevocationStatusMediator2Impl *m_impl; 00091 }; 00092 DECLARE_SMART_POINTERS(CPKIFRevocationStatusMediator2); 00093 00094 00095 #endif