00001 00009 #ifndef __DistributionPointName_H__ 00010 #define __DistributionPointName_H__ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 00017 #include "PKIFdll.h" 00018 #include "Buffer.h" 00019 00020 #define CAC_API_FACTORY 00021 00022 #include <vector> 00023 00024 // forward declaration 00025 struct CPKIFDistributionPointNameImpl; 00026 struct CACX509V3DistributionPointName; 00027 FD_LIST_PTR(CPKIFGeneralName); 00028 FD_SMART_PTR(CPKIFName); 00029 00036 class CAC_API CPKIFDistributionPointName 00037 { 00038 public: 00039 CPKIFDistributionPointName(); 00040 CPKIFDistributionPointName(const CPKIFBufferPtr& name); 00041 //CPKIFDistributionPointName(const CACX509V3DistributionPointName& name); 00042 virtual ~CPKIFDistributionPointName(); 00043 00044 bool operator == (const CPKIFDistributionPointName& name); 00045 00046 void FullName(CPKIFGeneralNameList& genNames) const; 00047 00048 //XXX-DEFER need to support name relative to issuer (at which point this function should go away, work done in operator ==, etc.) 00049 bool NameRelativeToIssuerPresent() const; 00050 00051 CPKIFNamePtr GetRelativeNameAsFullName(CPKIFNamePtr& issuerName); 00052 00053 private: 00054 CPKIFDistributionPointName(const CPKIFDistributionPointName& name); 00055 CPKIFDistributionPointName& operator=(const CPKIFDistributionPointName& rhs); //added 4/6/2004 00056 00057 struct CPKIFDistributionPointNameImpl *m_impl; 00058 }; 00059 DECLARE_SMART_POINTERS(CPKIFDistributionPointName); 00060 00061 #endif