00001 00009 #ifndef __IssuingDistributionPoint_H__ 00010 #define __IssuingDistributionPoint_H__ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 00017 #include "PKIFdll.h" 00018 // #define CAC_API_FACTORY CAC_API 00019 #define CAC_API_FACTORY 00020 00021 #include "X509Extension.h" 00022 #include "ReasonFlags.h" 00023 00024 struct CPKIFIssuingDistributionPointImpl; 00025 FD_SMART_PTR(CPKIFDistributionPointName); 00026 00051 class CAC_API CPKIFIssuingDistributionPoint : public CPKIFX509Extension 00052 { 00053 public: 00054 CPKIFIssuingDistributionPoint(); 00055 //CPKIFIssuingDistributionPoint(const CACX509V3Extension& ext); 00056 CPKIFIssuingDistributionPoint(const bool& criticality, const CPKIFBufferPtr& ext); 00057 virtual ~CPKIFIssuingDistributionPoint(); 00058 00059 static char extOID[]; 00060 const CPKIFOIDPtr oid() const; 00061 00062 CPKIFDistributionPointNamePtr DistributionPoint() const; 00063 00064 bool OnlyContainsUserCerts() const; 00065 bool OnlyContainsAuthorityCerts() const; 00066 bool OnlySomeReasons() const; 00067 bool IndirectCRL() const; 00068 bool OnlyContainsAttributeCerts() const; 00069 00070 CPKIFReasonFlagsPtr GetReasons() const; 00071 00072 bool operator==(const CPKIFIssuingDistributionPoint& idp); 00073 00074 CPKIFBufferPtr value() const; 00075 00076 private: 00077 CPKIFIssuingDistributionPoint(const CPKIFIssuingDistributionPoint& ext); 00078 CPKIFIssuingDistributionPoint& operator=(const CPKIFIssuingDistributionPoint& rhs); //added 4/6/2004 00079 00080 struct CPKIFIssuingDistributionPointImpl *m_impl; 00081 }; 00082 DECLARE_SMART_POINTERS(CPKIFIssuingDistributionPoint); 00083 00084 #endif