00001 00009 #ifndef __PolicyConstraints_H__ 00010 #define __PolicyConstraints_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 00019 00020 #include "X509Extension.h" 00021 00022 #include <iosfwd> 00023 00024 struct CPKIFPolicyConstraintsImpl; 00025 00043 class CAC_API CPKIFPolicyConstraints : public CPKIFX509Extension 00044 { 00045 public: 00046 CPKIFPolicyConstraints(); 00047 //CPKIFPolicyConstraints(const CACX509V3Extension& ext); 00048 CPKIFPolicyConstraints(const bool& criticality, const CPKIFBufferPtr& ext); 00049 virtual ~CPKIFPolicyConstraints(); 00054 static char extOID[]; 00055 const CPKIFOIDPtr oid() const; 00056 00057 bool RequireExplicitPolicyPresent() const; 00058 void SetRequireExplicitPolicyPresent(bool); 00059 int RequireExplicitPolicy() const; 00060 void SetRequireExplicitPolicy(int); 00061 bool InhibitPolicyMappingPresent() const; 00062 void SetInhibitPolicyMappingPresent(bool); 00063 int InhibitPolicyMapping() const; 00064 void SetInhibitPolicyMapping(int); 00065 00066 CPKIFBufferPtr value() const; 00067 00068 private: 00070 CPKIFPolicyConstraints(const CPKIFPolicyConstraints& ext); 00072 CPKIFPolicyConstraints& operator=(const CPKIFPolicyConstraints& rhs); //added 4/6/2004 00073 00074 struct CPKIFPolicyConstraintsImpl *m_impl; 00075 }; 00076 DECLARE_SMART_POINTERS(CPKIFPolicyConstraints); 00077 00078 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFPolicyConstraintsPtr & extension); 00079 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFPolicyConstraints & extension); 00080 00081 #endif