00001 00009 #ifndef _PKIFNSSREPOSITORY_H_ 00010 #define _PKIFNSSREPOSITORY_H_ 00011 00012 #include "PKIFdll.h" 00013 00014 #include "IPKIFPKIRepository.h" 00015 #include "IPKIFColleague.h" 00016 #include "IPKIFCertSearch.h" 00017 #include "components.h" 00018 00019 struct PKIFNSSRepositoryImpl; 00028 class CAC_API CPKIFNSSRepository : public IPKIFPKIRepository, public IPKIFColleague, public IPKIFCertSearch 00029 { 00030 public: 00031 CPKIFNSSRepository(const std::string & dbdir = ""); 00032 ~CPKIFNSSRepository(); 00033 00034 void GetCRLs(const CPKIFCertificatePtr& cert, CPKIFCRLList& crlList, PKIInfoSource source = ALL); 00035 void GetCertificates(const CPKIFNamePtr& subDN, CPKIFCertificateList& certList, PKIInfoSource source = ALL); 00036 00037 void Initialize(void); 00038 00039 PKIInfoSource GetSourceType() {return LOCAL;} 00040 00041 //IPKIFCertSearch 00042 void FindCertificates(IPKIFSearchCriteria* searchCriteria, CPKIFCertificateList& certList, PKIInfoSource source = ALL); 00043 private: 00044 //added 8/21/2004 00046 CPKIFNSSRepository(const CPKIFNSSRepository& copy); 00048 CPKIFNSSRepository& operator=(const CPKIFNSSRepository& rhs); 00049 00050 PKIFNSSRepositoryImpl * m_impl; 00051 enum {thisComponent = TOOLKIT_SR_NSSREPOSITORY}; 00052 }; 00053 DECLARE_SMART_POINTERS(CPKIFNSSRepository); 00054 00055 #endif 00056