PKIFBasicPathState2.h

Go to the documentation of this file.
00001 // This class was intentionally not "pimpl"ed because the documentation
00002 // states that it is only internally used.  Should it be declared "CAC_API" ?
00003 // -MH 12/28/05
00004 
00005 
00006 
00015 #ifndef __PKIFBASICPATHSTATE2_H__
00016 #define __PKIFBASICPATHSTATE2_H__
00017 
00018 #include "PKIFdll.h"
00019 #include "PKIFEnums.h"
00020 #include "CertificatePathState.h"
00021 #include "IPKIFTrustAnchor.h"
00022 #include <vector>
00023 
00024 FD_LIST_PTR(CPKIFTrustRoot);
00025 FD_LIST_PTR(IPKIFTrustAnchor);
00026 FD_SMART_PTR(CPKIFCertificateNodeListWithSourceInfo);
00027 class CPKIFPathBuilder2;
00028 struct CPKIFPathBuilder2Impl;
00029 
00030 //This class is a template class simply to permit the builder to have direct access to 
00031 //its contents.  It should probably be re-written without a friend declaration and with
00032 //accessor methods.
00033 
00042 class CAC_API CPKIFBasicPathState2 :    public CPKIFCertificatePathState
00043 {
00044     friend class CPKIFPathBuilder2;
00045     friend struct CPKIFPathBuilder2Impl;
00046 public:
00047     virtual ~CPKIFBasicPathState2(void);
00048 
00049     void SetTrustRoot(const IPKIFTrustAnchorList& rootList);// {m_rootList.clear(); copy(rootList.begin(), rootList.end(), back_inserter(m_rootList));}
00050     void ClearState();
00051 
00052 private:
00054     CPKIFBasicPathState2(const CPKIFBasicPathState2& copy);
00056     CPKIFBasicPathState2& operator=(const CPKIFBasicPathState2& rhs); //added 4/6/2004
00057 
00058     CPKIFBasicPathState2(void);
00059 
00060     IPKIFTrustAnchorList m_rootList;                            //"top" of the table of cert nodes
00061     std::vector<CPKIFCertificateNodeListWithSourceInfoPtr> m_table; //table of cert nodes
00062     PKIInfoSource m_maxSource;
00063     bool m_bInitCompleteLocal;
00064     int m_nGrowCount;
00065 
00066     void* m_reserved;
00067     IPKIFTrustAnchorPtr* m_curRoot;
00068 };
00069 
00070 
00071 
00072 
00073 
00074 #endif

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