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 // forward declarations
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     //Default version is 1
00048     int GetVersion() const;
00049     void SetVersion(int v);
00050 
00051     //required field
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     //Optional fields
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__

Generated on Mon Nov 15 11:15:57 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6