SimpleCRLCache.h

Go to the documentation of this file.
00001 
00009 #ifndef __SIMPLECRLCACHE_H__
00010 #define __SIMPLECRLCACHE_H__
00011 
00012 #include "PKIFdll.h"
00013 #include "components.h"
00014 #include <vector>
00015 
00016 #include "IPKIFCRLRepository.h"
00017 #include "IPKIFCRLRepositoryUpdate.h"
00018 #include "IPKIFColleague.h"
00019 
00020 FD_LIST_PTR(CPKIFCRL);
00021 FD_SMART_PTR(CPKIFCertificate);
00022 FD_SMART_PTR(CPKIFGeneralName);
00023 
00024 struct SimpleCRLCacheImpl;
00025 
00041 class CAC_API SimpleCRLCache : public IPKIFCRLRepository, public IPKIFCRLRepositoryUpdate, 
00042                         public IPKIFColleague
00043 {
00044     friend struct SimpleCRLCacheImpl;
00045 public:
00046     SimpleCRLCache(void);
00047     virtual ~SimpleCRLCache(void);
00048 
00049     //IPKIFColleague functions
00050     void Initialize(void);
00051 
00052     //IPKIFCRLRepository functions
00053     void GetCRLs(const CPKIFCertificatePtr& cert, CPKIFCRLList& crlList, PKIInfoSource source = ALL);
00054 
00055     void GetCRLs(std::vector<CPKIFCRLPtr>& v);
00056 
00057     void GetCRLs(const CPKIFCertificatePtr& cert, CPKIFCRLList& crlList, PKIInfoSource source, CPKIFPathSettingsPtr& ps);
00058 
00059     //IPKIFCRLRepositoryUpdate
00060     void AddCRL(const CPKIFCRLPtr& crl, const CPKIFGeneralNamePtr& dp);
00061 
00062     void Clear();
00063     int size();
00064     void SetAutoCleanup(bool on, unsigned long interval = 3600000);
00065     void WriteCRLsToDirectory(const char* path);
00066     void ReadCRLsFromDirectory(const char* path);
00067 
00068 private:
00070     SimpleCRLCache(const SimpleCRLCache& copy);
00072     SimpleCRLCache& operator=(const SimpleCRLCache& rhs); //added 4/6/2004
00073 
00074     enum { thisComponent = TOOLKIT_SR_SIMPLECRLCACHE };
00075 
00076     struct SimpleCRLCacheImpl *m_impl;
00077 
00078 };
00079 DECLARE_SMART_POINTERS(SimpleCRLCache);
00080 
00081 
00082 CAC_API SimpleCRLCache* MakeSimpleCRLCache();
00083 CAC_API void FreeSimpleCRLCache(SimpleCRLCache* ldap);
00084 
00085 #endif
00086 

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