00001 00009 #ifndef __CRLDistributionPoint_H__ 00010 #define __CRLDistributionPoint_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 #define CAC_API_FACTORY 00020 00021 #include <vector> 00022 00023 // forward declaration 00024 struct CPKIFCRLDistributionPointImpl; 00025 struct CACX509V3DistributionPoint; 00026 FD_SMART_PTR(CPKIFDistributionPointName); 00027 FD_SMART_PTR(CPKIFReasonFlags); 00028 FD_LIST_PTR(CPKIFGeneralName); 00029 00030 00036 class CAC_API CPKIFCRLDistributionPoint 00037 { 00038 public: 00039 CPKIFCRLDistributionPoint(); 00040 CPKIFCRLDistributionPoint(const CPKIFBufferPtr& buffer); 00041 //CPKIFCRLDistributionPoint(CACX509V3DistributionPoint* ext); 00042 virtual ~CPKIFCRLDistributionPoint(); 00043 00044 CPKIFDistributionPointNamePtr DistributionPoint() const; 00045 void CRLIssuer(CPKIFGeneralNameList& genNames)const; 00046 CPKIFReasonFlagsPtr Reasons()const; 00047 00048 private: 00049 CPKIFCRLDistributionPoint(const CPKIFCRLDistributionPoint& ext); 00050 CPKIFCRLDistributionPoint& operator=(const CPKIFCRLDistributionPoint& rhs); //added 4/6/2004 00051 00052 CPKIFCRLDistributionPointImpl *m_impl; 00053 }; 00054 DECLARE_SMART_POINTERS(CPKIFCRLDistributionPoint); 00055 typedef std::vector<CPKIFCRLDistributionPointPtr, PKIFAlloc<CPKIFCRLDistributionPointPtr> > CPKIFCRLDistributionPointList; 00056 DECLARE_SMART_POINTERS(CPKIFCRLDistributionPointList); 00057 #endif 00058