00001 00009 #ifndef __PolicyInformationSet_H__ 00010 #define __PolicyInformationSet_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 #include <vector> 00022 #include <iosfwd> 00023 00024 struct CPKIFPolicyInformationSetImpl; 00025 FD_LIST_PTR(CPKIFPolicyInformation); 00026 00042 class CAC_API CPKIFPolicyInformationSet : public CPKIFX509Extension 00043 { 00044 public: 00045 CPKIFPolicyInformationSet(); 00046 //CPKIFPolicyInformationSet(const CACX509V3Extension& ext); 00047 CPKIFPolicyInformationSet(const bool& criticality, const CPKIFBufferPtr& ext); 00048 virtual ~CPKIFPolicyInformationSet(); 00049 00054 static char extOID[]; 00055 const CPKIFOIDPtr oid() const; 00056 00057 CPKIFPolicyInformationListPtr GetPolicySet() const; 00058 void SetPolicySet(CPKIFPolicyInformationListPtr &pol); 00059 CPKIFBufferPtr value() const; 00060 00061 private: 00062 // TO DO 00063 CPKIFPolicyInformationSet(const CPKIFPolicyInformationSet& ext); 00064 CPKIFPolicyInformationSet& operator=(const CPKIFPolicyInformationSet& rhs); //added 4/6/2004 00065 00066 struct CPKIFPolicyInformationSetImpl *m_impl; 00067 }; 00068 DECLARE_SMART_POINTERS(CPKIFPolicyInformationSet); 00069 00070 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFPolicyInformationSetPtr & extension); 00071 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFPolicyInformationSet & extension); 00072 00073 #endif