00001 00009 #ifndef __SingleResponse_H__ 00010 #define __SingleResponse_H__ 00011 00012 00013 #include "PKIFdll.h" 00014 #include "IPKIFHasExtensions.h" 00015 00016 struct SingleResponse; 00017 FD_SMART_PTR(CPKIFCertID); 00018 FD_SMART_PTR(CPKIFOCSPCertStatus); 00019 FD_SMART_PTR(CPKIFTime); 00020 FD_SMART_PTR(CPKIFOID); 00021 FD_SMART_PTR(CPKIFX509Extension); 00022 00023 #include <vector> 00024 00025 00031 class CAC_API CPKIFSingleResponse: public IPKIFHasExtensions 00032 { 00033 public: 00034 CPKIFSingleResponse(void); 00035 CPKIFSingleResponse(const CPKIFBufferPtr& singleResponse); 00036 virtual ~CPKIFSingleResponse(void); 00037 00038 //certID 00039 CPKIFCertIDPtr GetCertID() const; 00040 void SetCertID(CPKIFCertIDPtr& ci); 00041 00042 //certStatus 00043 CPKIFOCSPCertStatusPtr GetCertStatus() const; 00044 void SetCertStatus(CPKIFOCSPCertStatusPtr& cs); 00045 00046 //thisUpdate 00047 CPKIFTimePtr GetThisUpdate() const; 00048 void SetThisUpdate(CPKIFTimePtr& str); 00049 00050 //nextUpdate 00051 CPKIFTimePtr GetNextUpdate() const; 00052 void SetNextUpdate(CPKIFTimePtr& str); 00053 00054 //extensions 00055 void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref); 00056 void GetEncodedExtensions (CPKIFBufferPtr& buf); 00057 bool AreThereAnyUnprocessedCriticalExtensions(std::vector<CPKIFX509ExtensionPtr>& processedExts); 00058 00059 private: 00061 CPKIFSingleResponse(const CPKIFSingleResponse& copy); 00063 CPKIFSingleResponse& operator=(const CPKIFSingleResponse& rhs); //added 4/6/2004 00064 00065 struct CPKIFSingleResponseImpl *m_impl; 00066 00067 }; 00068 DECLARE_SMART_POINTERS(CPKIFSingleResponse); 00069 typedef std::vector<CPKIFSingleResponsePtr, PKIFAlloc<CPKIFSingleResponsePtr> > CPKIFSingleResponseList; 00070 DECLARE_SMART_POINTERS(CPKIFSingleResponseList); 00071 00072 #endif 00073