PKIFCertificatePath.h

Go to the documentation of this file.
00001 
00010 #ifndef __PKIFCERTIFICATEPATH_H__
00011 #define __PKIFCERTIFICATEPATH_H__
00012 
00013 #include "PKIFdll.h"
00014 
00015 
00016 // forward declaration
00017 struct CPKIFCertificatePathImpl;
00018 FD_SMART_PTR(CPKIFCertificate);
00019 FD_SMART_PTR(IPKIFTrustAnchor);
00020 
00021 //FD_SMART_PTR(CPKIFCertificateNodeEntry);
00022 //typedef std::vector<CPKIFCertificateNodeEntryPtr, PKIFAlloc<CPKIFCertificateNodeEntryPtr> > CPKIFCertificateNodeList;
00023 //DECLARE_SMART_POINTERS(CPKIFCertificateNodeList);
00024 FD_NODE_LIST_PTR(CPKIFCertificateNodeEntry);
00025 
00026 FD_SMART_PTR(CPKIFCertificatePathState);
00027 FD_SMART_PTR(CPKIFTrustRoot);
00028 FD_SMART_PTR(CPKIFPathSettings);
00029 FD_SMART_PTR(CPKIFBuilderStatistics);
00030 
00045 class CAC_API CPKIFCertificatePath
00046 {
00047 public:
00048     CPKIFCertificatePath(void);
00049     virtual ~CPKIFCertificatePath(void);
00050 
00051     //set/get target certificate
00052     void SetTarget(const CPKIFCertificatePtr& cert);
00053     void GetTarget(CPKIFCertificatePtr& cert)const;
00054 
00055     //set/get path
00056     void SetPath(const CPKIFCertificateNodeList& path);
00057     void GetPath(CPKIFCertificateNodeList& path)const;
00058 
00059     //set/get path state
00060     void SetState(const CPKIFCertificatePathStatePtr& state);
00061     void GetState(CPKIFCertificatePathStatePtr& state)const;
00062 
00063     //set/get trust root
00064     void SetTrustRoot(const IPKIFTrustAnchorPtr& root);
00065     void GetTrustRoot(IPKIFTrustAnchorPtr& root)const;
00066 
00067     //set/get path settings
00068     void SetPathSettings(const CPKIFPathSettingsPtr& settings);
00069     void GetPathSettings(CPKIFPathSettingsPtr& settings)const;
00070 
00071     //set/get builder stats
00072     void SetBuilderStats(const CPKIFBuilderStatisticsPtr& stats);
00073     void GetBuilderStats(CPKIFBuilderStatisticsPtr& stats)const;
00074 
00075     //set/get CRLs (need some abstract class for returning rev info)
00076 /*  rev info is now stored solely on the cert status object
00077     void ClearCRLs();
00078     void AddCRL(CPKIFCRLPtr& crl);
00079     void GetCRLList(CPKIFCRLList& crlList);*/
00080 
00081 private:
00083     CPKIFCertificatePath(const CPKIFCertificatePath& copy);
00085     CPKIFCertificatePath& operator=(const CPKIFCertificatePath& rhs); //added 4/6/2004
00086 
00087     struct CPKIFCertificatePathImpl *m_impl;
00088 
00089     /*
00090     CPKIFCertificatePtr m_target;       //lone target cert
00091     CPKIFCertificateNodeList m_path;    //list of certs incl. target to closet to root
00092     CPKIFTrustRootPtr m_root;           //lone trust root
00093 
00094     CPKIFCertificatePathStatePtr m_state;//builder-specific state object
00095     CPKIFPathSettingsPtr m_settings;        //generic path val settings (may need to be val obj specific)
00096     CPKIFBuilderStatisticsPtr m_stats;
00097     CPKIFCRLList m_crlList;
00098     */
00099 };
00100 DECLARE_SMART_POINTERS(CPKIFCertificatePath);
00101 
00102 #endif
00103 

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