00001 00009 #ifndef __ATTRIBUTE_H__ 00010 #define __ATTRIBUTE_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 // forward declaration 00023 struct CPKIFASN1AttributeImpl; 00024 00025 00035 class CAC_API CPKIFASN1Attribute 00036 { 00037 public: 00038 CPKIFASN1Attribute(); 00039 CPKIFASN1Attribute(const CPKIFBufferPtr& ext); 00040 virtual ~CPKIFASN1Attribute(); 00041 00042 const CPKIFOIDPtr GetAttrType() const; 00043 const CPKIFBufferPtr GetAttrValues() const; 00044 private: 00046 CPKIFASN1Attribute(const CPKIFASN1Attribute& ext); 00048 CPKIFASN1Attribute& operator=(const CPKIFASN1Attribute& rhs); 00049 00050 struct CPKIFASN1AttributeImpl *m_impl; 00051 }; 00052 DECLARE_SMART_POINTERS(CPKIFASN1Attribute); 00053 00054 typedef std::vector<CPKIFASN1AttributePtr, PKIFAlloc<CPKIFASN1AttributePtr> > CPKIFASN1AttributeList; 00055 DECLARE_SMART_POINTERS(CPKIFASN1AttributeList); 00056 #endif //__ATTRIBUTE_H__