ValPolResponse.h
Go to the documentation of this file.00001
00010 #ifndef __VALPOLRESPONSE_H__
00011 #define __VALPOLRESPONSE_H__
00012
00013
00014 #include "PKIFSCVPDLL.h"
00015 #include "PKIFdll.h"
00016
00017 #include <bitset>
00018
00019
00020 struct CPKIFValPolResponseImpl;
00021
00022
00023 FD_SMART_PTR(CPKIFOID);
00024 FD_SMART_PTR(CPKIFBuffer);
00025 FD_SMART_PTR(CPKIFTime);
00026 FD_SMART_PTR(CPKIFValidationPolicy);
00027 FD_LIST_PTR(CPKIFOID);
00028 FD_LIST_PTR(CPKIFAlgorithmIdentifier);
00029 FD_LIST_PTR(CPKIFKeyAgreePublicKey);
00030
00031 enum SCVPResponseTypes {CACHED_ONLY, NON_CACHED_ONLY, CACHED_AND_NON_CACHED};
00032
00033 enum SCVPRevocationInfoTypes{FULLCRLS, DELTACRLS, INDIRECTCRLS, OCSPRESPONSES};
00034
00040 class PKIFSCVP_API CPKIFValPolResponse
00041 {
00042 public:
00043 CPKIFValPolResponse();
00044 CPKIFValPolResponse(const CPKIFBufferPtr&);
00045 virtual ~CPKIFValPolResponse(void);
00046
00047
00048 int GetVersion() const;
00049 void SetVersion(int v);
00050
00051
00052
00053 void SetVpResponseVersion(int vpResponseVersion);
00054 const int GetVpResponseVersion() const;
00055
00056 void SetMaxCVRequestVersion(int maxCVRequestVersion);
00057 const int GetMaxCVRequestVersion() const;
00058
00059 void SetMaxVPRequestVersion(int maxVPRequestVersion);
00060 const int GetMaxVPRequestVersion() const;
00061
00062 void SetServerConfigurationID(int serverConfigurationID);
00063 const int GetServerConfigurationID() const;
00064
00065 void SetThisUpdate(const CPKIFTimePtr& thisUpdate);
00066 const CPKIFTimePtr GetThisUpdate() const;
00067
00068 void SetSupportedChecks(CPKIFOIDListPtr& supportedChecks);
00069 void GetSupportedChecks(CPKIFOIDListPtr& supportedChecks);
00070
00071 void SetSupportedWantBacks(CPKIFOIDListPtr& supportedWantBacks);
00072 void GetSupportedWantBacks(CPKIFOIDListPtr& supportedWantBacks);
00073
00074 void SetValidationPolicies(CPKIFOIDListPtr& validationPolicies);
00075 void GetValidationPolicies(CPKIFOIDListPtr& validationPolicies);
00076
00077 void SetValidationAlgs(CPKIFOIDListPtr& validationAlgs);
00078 void GetValidationAlgs(CPKIFOIDListPtr& validationAlgs);
00079
00080 void SetAuthPolicies(CPKIFOIDListPtr& authPolicies);
00081 void GetAuthPolicies(CPKIFOIDListPtr& authPolicies);
00082
00083 void SetResponseTypes(SCVPResponseTypes responseTypes);
00084 const SCVPResponseTypes GetResponseTypes() const;
00085
00086 void SetRespValidationPolicy(CPKIFValidationPolicyPtr& respValidationPolicy);
00087 const CPKIFValidationPolicyPtr GetRespValidationPolicy() const;
00088
00089 void SetRevocationInfoTypes(std::bitset<4> revocationInfoTypes);
00090 const std::bitset<4> GetRevocationInfoTypes() const;
00091
00092 void SetSignatureGeneration(CPKIFAlgorithmIdentifierListPtr & signatureGeneration);
00093 void GetSignatureGeneration(CPKIFAlgorithmIdentifierListPtr & signatureGeneration);
00094
00095 void SetSignatureVerification(CPKIFAlgorithmIdentifierListPtr & signatureVerification);
00096 void GetSignatureVerification(CPKIFAlgorithmIdentifierListPtr & signatureVerification);
00097
00098 void SetHashAlgorithms(CPKIFOIDListPtr& hashAlgorithms);
00099 void GetHashAlgorithms(CPKIFOIDListPtr& hashAlgorithms);
00100
00101 void SetClockSkew(int clockSkew);
00102 const int GetClockSkew() const;
00103
00104
00105 void SetNextUpdate(CPKIFTimePtr& NextUpdate);
00106 const CPKIFTimePtr GetNextUpdate() const;
00107
00108 void SetRequestNonce(CPKIFBufferPtr& requestNonce);
00109 const CPKIFBufferPtr GetRequestNonce() const;
00110
00111 void SetKeyAgreePublicKeys(CPKIFKeyAgreePublicKeyListPtr& keyAgreePublicKey);
00112 void GetKeyAgreePublicKeys(CPKIFKeyAgreePublicKeyListPtr& keyAgreePublicKey);
00113
00114 CPKIFBufferPtr Encode() const;
00115 void Decode(CPKIFBufferPtr& encoded) const;
00116
00117 private:
00119 CPKIFValPolResponse(const CPKIFValPolResponse& copy);
00121 CPKIFValPolResponse& operator=(const CPKIFValPolResponse& rhs);
00122
00123 struct CPKIFValPolResponseImpl *m_impl;
00124 };
00125 DECLARE_SMART_POINTERS(CPKIFValPolResponse);
00126
00127 typedef std::vector<CPKIFValPolResponsePtr, PKIFAlloc<CPKIFValPolResponsePtr> > CPKIFValPolResponseList;
00128 DECLARE_SMART_POINTERS(CPKIFValPolResponseList);
00129 #endif //__VALPOLRESPONSE_H__