00001 00009 #ifndef __PolicyInformation_H__ 00010 #define __PolicyInformation_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 struct CPKIFPolicyInformationImpl; 00024 struct CACX509V3PolicyInformation; 00025 FD_SMART_PTR(CPKIFOID); 00026 FD_LIST_PTR(CPKIFPolicyQualifier); 00027 00036 class CAC_API CPKIFPolicyInformation 00037 { 00038 public: 00039 CPKIFPolicyInformation(); 00040 CPKIFPolicyInformation(const CPKIFBufferPtr& buffer); 00041 //CPKIFPolicyInformation(const CACX509V3PolicyInformation* ext); 00042 CPKIFPolicyInformation(const CPKIFOIDPtr& oid); 00043 virtual ~CPKIFPolicyInformation(); 00044 00045 bool operator==(const CPKIFPolicyInformation& pol); 00046 00047 CPKIFOIDPtr PolicyOID() const; 00048 CPKIFPolicyQualifierListPtr Qualifiers() const; 00049 void SetQualifiers(CPKIFPolicyQualifierListPtr& newQualifiers); 00050 00051 private: 00052 // TO DO 00053 CPKIFPolicyInformation(const CPKIFPolicyInformation& oid); 00054 CPKIFPolicyInformation& operator=(const CPKIFPolicyInformation& rhs); //added 4/6/2004 00055 00056 struct CPKIFPolicyInformationImpl *m_impl; 00057 }; 00058 DECLARE_SMART_POINTERS(CPKIFPolicyInformation); 00059 typedef std::vector<CPKIFPolicyInformationPtr, PKIFAlloc<CPKIFPolicyInformationPtr> > CPKIFPolicyInformationList; 00060 DECLARE_SMART_POINTERS(CPKIFPolicyInformationList); 00061 00062 #endif