Query.h

Go to the documentation of this file.
00001 
00010 #ifndef __QUERY_H__
00011 #define __QUERY_H__
00012 
00013 #include "PKIFSCVPDLL.h"
00014 #include "IPKIFHasExtensions.h"
00015 
00016 // forward declarations
00017 struct CPKIFQueryImpl;
00018 
00019 
00020 
00021 FD_MC_PTR();
00022 FD_SMART_PTR(CPKIFResponseFlags);
00023 FD_SMART_PTR(CPKIFPKCReference);
00024 FD_SMART_PTR(CPKIFRevocationInfo);
00025 FD_SMART_PTR(CPKIFRevocationInfo);
00026 FD_LIST_PTR(CPKIFCertificate);
00027 FD_LIST_PTR(CPKIFValidationPolicy);
00028 FD_LIST_PTR(CPKIFTime);
00029 FD_LIST_PTR(CPKIFRevocationInfo);
00030 FD_LIST_PTR(CPKIFCertReferences);
00031 
00032 //typedef std::vector<CPKIFRevocationInfoPtr> CPKIFRevocationInfoList; 
00033 //DECLARE_SMART_POINTERS(CPKIFRevocationInfoList);
00034 //
00035 //typedef std::vector<CPKIFPKCReferencePtr> CPKIFPKCReferenceList; 
00036 //DECLARE_SMART_POINTERS(CPKIFPKCReferenceList);
00059 class PKIFSCVP_API CPKIFQuery: public IPKIFHasExtensions
00060 {
00061 public:
00062     CPKIFQuery();
00063     CPKIFQuery(const CPKIFBufferPtr& query);
00064     virtual ~CPKIFQuery(void);
00065 
00066     //req field
00067     void SetValidationPolicy(CPKIFValidationPolicyPtr& validationPolicy);
00068     const CPKIFValidationPolicyPtr GetValidationPolicy() const;
00069 
00070     //req field
00071     void SetChecks(CPKIFOIDListPtr& checks);
00072     void GetChecks(CPKIFOIDListPtr& checks) const;
00073 
00074     //req field 
00075     void SetCertRef(CPKIFCertReferencesPtr& certRefs);
00076     void GetCertRef(CPKIFCertReferencesPtr& certRefs) const;
00077 
00078     //optional field
00079     void SetWantBack(CPKIFOIDListPtr& wantBack);
00080     void GetWantBack(CPKIFOIDListPtr& wantBack) const;
00081 
00082     //optional field
00083     void SetValidationTime(CPKIFTimePtr& validationTime);
00084     const CPKIFTimePtr GetValidationTime() const;
00085 
00086     //optional field
00087     void SetProducedAt(CPKIFTimePtr& producedAt);
00088     const CPKIFTimePtr GetProducedAt() const;
00089 
00090     //optional field
00091     void SetRevInfos(CPKIFRevocationInfoListPtr& revInfos);
00092     void GetRevInfos(CPKIFRevocationInfoListPtr& revInfos) const;
00093 
00094     //optional field
00095     void SetResponseFlags(CPKIFResponseFlagsPtr& responseFlags);
00096     const CPKIFResponseFlagsPtr GetResponseFlags() const;
00097 
00098     //optional field
00099     void SetServerContextInfo(CPKIFBufferPtr& serverContextInfo);
00100     const CPKIFBufferPtr GetServerContextInfo() const;
00101 
00102     //optional field
00103     void SetCertBundle(CPKIFCertificateListPtr& bundle);
00104     void GetCertBundle(CPKIFCertificateListPtr& bundle) const;
00105     void AddToCertBundle(CPKIFCertificatePtr& cert);
00106 
00107 
00108     bool ExtensionsPresent() const;
00109 
00110 
00111     template <class T> boost::shared_ptr<T> GetExtension();
00112 
00113     void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref);
00114     void GetEncodedExtensions (CPKIFBufferPtr& buf);
00115     bool AreThereAnyUnprocessedCriticalExtensions();
00116 private:
00118     CPKIFQuery(const CPKIFQuery& copy);
00120     CPKIFQuery& operator=(const CPKIFQuery& rhs); 
00121 
00122     struct CPKIFQueryImpl *m_impl;
00123 };
00124 DECLARE_SMART_POINTERS(CPKIFQuery);
00125 
00128 typedef CPKIFAlgorithmIdentifier CPKIFValidationPolRef;
00131 typedef CPKIFAlgorithmIdentifier CPKIFValidationAlg;
00132 
00133 DECLARE_SMART_POINTERS(CPKIFValidationPolRef);
00134 DECLARE_SMART_POINTERS(CPKIFValidationAlg);
00135 
00136 #endif //__QUERY_H__

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