00001 00009 #ifndef __PKIFLdapCertNode_H__ 00010 #define __PKIFLdapCertNode_H__ 00011 00012 #include "PKIFdll.h" 00013 #include "IPKIFPkiArtifact.h" 00014 00015 #include <vector> 00016 #include <string> 00017 00018 FD_SMART_PTR(CPKIFLDAPRepository); 00019 FD_SMART_PTR(CPKIFCertificate); 00020 FD_SMART_PTR(CPKIFName); 00021 00022 struct CPKIFLdapCertNodeImpl; 00023 00034 class CAC_API CPKIFLdapCertNode : public CPKIFCertificateSource 00035 { 00036 friend class CPKIFLDAPRepository; 00037 friend class CPKIFAiaOrSiaRetrieval; 00038 public: 00039 ~CPKIFLdapCertNode(); 00040 void GetCertificates(CPKIFCertificateNodeList& certNodeList, PathBuildingDirection pbd); 00041 00042 bool operator==(const CPKIFLdapCertNode& rhs) const; 00043 private: 00045 CPKIFLdapCertNode(const CPKIFLdapCertNode& copy); 00047 CPKIFLdapCertNode& operator=(const CPKIFLdapCertNode& rhs); 00048 00049 CPKIFLdapCertNode(); 00050 CPKIFLdapCertNode(CPKIFLDAPRepositoryPtr& ldap, CPKIFNamePtr& entry, std::vector<std::string>& attributes); 00051 00052 struct CPKIFLdapCertNodeImpl* m_impl; 00053 }; 00054 DECLARE_SMART_POINTERS(CPKIFLdapCertNode); 00055 typedef std::vector<CPKIFLdapCertNodePtr, PKIFAlloc<CPKIFLdapCertNodePtr> > CPKIFLdapCertNodeList; 00056 DECLARE_SMART_POINTERS(CPKIFLdapCertNodeList); 00057 00058 #endif