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 //  CPKIFCAPIRepository2
00024 //----------------------------------------------------------------------------------------------------
00025 extern CAC_API char g_defCACCAPIStore[];
00043 class CAC_API CPKIFCAPIRepository2 : public IPKIFPKIRepository, public IPKIFColleague, public IPKIFCAPISource, public IPKIFCertSearch
00044 //  , public IPKIFSupportsSynonymousCRLSources, public IPKIFSupportsSynonymousCertSources
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     //IPKIFColleague functions
00052     void Initialize(void);
00053 
00054     //IPKIFPKIRepository functions
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     //IPKIFSupportsSynonymousCertSources
00061     void GetCertificateSources(const CPKIFCertificatePtr& cert, CPKIFCertificateSourceList& certs, PathBuildingDirection pbd = PBD_FORWARD);
00062 
00063     //IPKIFSupportsSynonymousCRLSources
00064     void GetCRLSources(const CPKIFCertificatePtr& cert, CPKIFCrlSourceList& crlNodeList, PKIInfoSource source = ALL);
00065 
00066     PKIInfoSource GetSourceType() {return LOCAL;}
00067 
00068     //IPKIFCertSearch
00069     void FindCertificates(IPKIFSearchCriteria* searchCriteria, CPKIFCertificateList& certList, PKIInfoSource source = ALL);
00070 
00071 //  void FindCertificates(IPKIFSearchCriteria* searchCriteria, CPKIFCertificateList& certList, PKIInfoSource source = ALL);
00072 
00073 private:
00075     CPKIFCAPIRepository2(const CPKIFCAPIRepository2& copy);
00077     CPKIFCAPIRepository2& operator=(const CPKIFCAPIRepository2& rhs); //added 4/6/2004
00078 
00079     
00080     struct CPKIFCAPIRepository2Impl *m_impl;
00081 
00082     enum {thisComponent = TOOLKIT_SR_CAPIREPOSITORY};
00083 };
00084 DECLARE_SMART_POINTERS(CPKIFCAPIRepository2);
00085 
00086 
00087 #endif

Generated on Mon Nov 15 11:15:54 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6