PKIFCAPIRepository2.h
Go to the documentation of this file.00001
00009 #ifndef __PKIFCAPIREPOSITORY2_H__
00010 #define __PKIFCAPIREPOSITORY2_H__
00011
00012 #include "PKIFdll.h"
00013 #include "IPKIFColleague.h"
00014 #include "IPKIFCAPISource.h"
00015 #include "IPKIFPKIRepository.h"
00016 #include "components.h"
00017 #include "IPKIFSupportsSynonymousSources.h"
00018 #include "IPKIFCertSearch.h"
00019
00020 #include <wincrypt.h>
00021
00022
00023
00024
00025 extern CAC_API char g_defCACCAPIStore[];
00043 class CAC_API CPKIFCAPIRepository2 : public IPKIFPKIRepository, public IPKIFColleague, public IPKIFCAPISource, public IPKIFCertSearch
00044
00045 {
00046 friend struct CPKIFCAPIRepository2Impl;
00047 public:
00048 CPKIFCAPIRepository2(int sysStoRegLoc = CERT_SYSTEM_STORE_CURRENT_USER, const char* store = g_defCACCAPIStore);
00049 virtual ~CPKIFCAPIRepository2(void);
00050
00051
00052 void Initialize(void);
00053
00054
00055 void GetCRLs(const CPKIFCertificatePtr& cert, CPKIFCRLList& crlList, PKIInfoSource source = ALL);
00056 void GetCertificates(const CPKIFNamePtr& subDN, CPKIFCertificateList& certList, PKIInfoSource source = ALL);
00057
00058 void GetCertificates(const CPKIFCertificatePtr& cert, CPKIFCertificateList& certList, PKIInfoSource source = ALL, PathBuildingDirection pbd = PBD_FORWARD);
00059
00060
00061 void GetCertificateSources(const CPKIFCertificatePtr& cert, CPKIFCertificateSourceList& certs, PathBuildingDirection pbd = PBD_FORWARD);
00062
00063
00064 void GetCRLSources(const CPKIFCertificatePtr& cert, CPKIFCrlSourceList& crlNodeList, PKIInfoSource source = ALL);
00065
00066 PKIInfoSource GetSourceType() {return LOCAL;}
00067
00068
00069 void FindCertificates(IPKIFSearchCriteria* searchCriteria, CPKIFCertificateList& certList, PKIInfoSource source = ALL);
00070
00071
00072
00073 private:
00075 CPKIFCAPIRepository2(const CPKIFCAPIRepository2& copy);
00077 CPKIFCAPIRepository2& operator=(const CPKIFCAPIRepository2& rhs);
00078
00079
00080 struct CPKIFCAPIRepository2Impl *m_impl;
00081
00082 enum {thisComponent = TOOLKIT_SR_CAPIREPOSITORY};
00083 };
00084 DECLARE_SMART_POINTERS(CPKIFCAPIRepository2);
00085
00086
00087 #endif