00001 00009 #ifndef __SubjectInfoAccess_H__ 00010 #define __SubjectInfoAccess_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 #include <vector> 00020 #include <iosfwd> 00021 00022 #include "X509Extension.h" 00023 00024 // forward declaration 00025 struct CPKIFSubjectInfoAccessImpl; 00026 FD_LIST_PTR(CPKIFAccessDescription); 00027 00047 class CAC_API CPKIFSubjectInfoAccess : public CPKIFX509Extension 00048 { 00049 public: 00050 CPKIFSubjectInfoAccess(); 00051 //CPKIFSubjectInfoAccess(const CACX509V3Extension& ext); 00052 CPKIFSubjectInfoAccess(const bool& criticality, const CPKIFBufferPtr& ext); 00053 //CPKIFSubjectInfoAccess(const CACX509V3AuthorityInfoAccessSyntax& aia); 00054 virtual ~CPKIFSubjectInfoAccess(); 00059 static char extOID[]; 00060 const CPKIFOIDPtr oid() const; 00061 00062 CPKIFAccessDescriptionListPtr GetAccessDescriptions() const; 00063 00064 CPKIFBufferPtr value() const; 00065 00066 private: 00067 CPKIFSubjectInfoAccess(const CPKIFSubjectInfoAccess& ext); 00068 CPKIFSubjectInfoAccess& operator=(const CPKIFSubjectInfoAccess& rhs); //added 4/6/2004 00069 00070 CPKIFSubjectInfoAccessImpl *m_impl; 00071 }; 00072 DECLARE_SMART_POINTERS(CPKIFSubjectInfoAccess); 00073 00074 00075 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFSubjectInfoAccessPtr & sia); 00076 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFSubjectInfoAccess & sia); 00077 00078 #endif