00001 00009 #ifndef __PKIFLdapCrlNode_H__ 00010 #define __PKIFLdapCrlNode_H__ 00011 00012 #include "PKIFdll.h" 00013 #include "PKIFCRLNodeEntry.h" 00014 00015 #include <vector> 00016 #include <string> 00017 00018 FD_SMART_PTR(CPKIFLDAPRepository); 00019 FD_SMART_PTR(CPKIFCRL); 00020 FD_SMART_PTR(CPKIFName); 00021 00022 struct CPKIFLdapCrlNodeImpl; 00023 00034 class CAC_API CPKIFLdapCrlNode : public CPKIFCrlSource 00035 { 00036 friend class CPKIFLDAPRepository; 00037 friend class CPKIFCRLDPRetrieval; 00038 public: 00039 ~CPKIFLdapCrlNode(); 00040 //virtual CPKIFCRLPtr GetCRL()const; 00041 virtual void GetCrls(CPKIFCRLNodeList& crlNodeList); 00042 00043 private: 00045 CPKIFLdapCrlNode(const CPKIFLdapCrlNode& copy); 00047 CPKIFLdapCrlNode& operator=(const CPKIFLdapCrlNode& rhs); 00048 00049 CPKIFLdapCrlNode(); 00050 CPKIFLdapCrlNode(CPKIFLDAPRepositoryPtr& ldap, CPKIFNamePtr& entry, std::vector<std::string>& attributes); 00051 00052 struct CPKIFLdapCrlNodeImpl* m_impl; 00053 }; 00054 DECLARE_SMART_POINTERS(CPKIFLdapCrlNode); 00055 typedef std::vector<CPKIFLdapCrlNodePtr, PKIFAlloc<CPKIFLdapCrlNodePtr> > CPKIFLdapCrlNodeList; 00056 DECLARE_SMART_POINTERS(CPKIFLdapCrlNodeList); 00057 00058 #endif