00001 00009 #ifndef __ResponseData_H__ 00010 #define __ResponseData_H__ 00011 00012 #include "PKIFdll.h" 00013 00014 #include "IPKIFHasExtensions.h" 00015 00016 FD_SMART_PTR(CPKIFTime); 00017 FD_LIST_PTR(CPKIFSingleResponse); 00018 FD_SMART_PTR(CPKIFOID); 00019 FD_SMART_PTR(CPKIFX509Extension); 00020 FD_SMART_PTR(CPKIFResponderID); 00021 FD_SMART_PTR(CPKIFBuffer); 00022 00028 class CAC_API CPKIFResponseData : public IPKIFHasExtensions 00029 { 00030 public: 00031 CPKIFResponseData(void); 00032 CPKIFResponseData(const CPKIFBufferPtr& responseData); 00033 virtual ~CPKIFResponseData(void); 00034 00035 //version 00036 int GetVersion() const; 00037 00038 //responderID 00039 CPKIFResponderIDPtr GetResponderID() const; 00040 void SetResponderID(CPKIFResponderIDPtr& rid); 00041 00042 //producedAt 00043 CPKIFTimePtr GetProducedAt() const; 00044 void SetProducedAt(CPKIFTimePtr& pa); 00045 00046 //responses 00047 void GetResponses(CPKIFSingleResponseList& srs); 00048 void AddResponse(CPKIFSingleResponsePtr& sr); 00049 00050 //responseExtensions 00051 CPKIFBufferPtr toBeSigned(); 00052 void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref); 00053 void GetEncodedExtensions (CPKIFBufferPtr& buf); 00054 bool AreThereAnyUnprocessedCriticalExtensions(std::vector<CPKIFX509ExtensionPtr>& processedExts); 00055 00056 private: 00058 CPKIFResponseData(const CPKIFResponseData& copy); 00060 CPKIFResponseData& operator=(const CPKIFResponseData& rhs); //added 4/6/2004 00061 00062 struct CPKIFResponseDataImpl *m_impl; 00063 }; 00064 DECLARE_SMART_POINTERS(CPKIFResponseData); 00065 00066 #endif 00067