PKIFNameAndKeyWithScore.h

Go to the documentation of this file.
00001 
00009 #ifndef __CPKIFNameAndKeyWithScore_H__
00010 #define __CPKIFNameAndKeyWithScore_H__
00011 
00012 #include "PKIFdll.h"
00013 #include "CertificatePathState.h"
00014 #include "IPKIFTrustAnchor.h"
00015 #include <vector>
00016 
00017 FD_LIST_PTR(CPKIFTrustRoot);
00018 FD_LIST_PTR(IPKIFTrustAnchor);
00019 FD_SMART_PTR(CPKIFCertificateNodeListWithSourceInfo);
00020 class CPKIFPathBuilder2;
00021 struct CPKIFPathBuilder2Impl;
00022 
00029 class CPKIFNameAndKeyWithScore
00030 {
00031 public:
00032     CPKIFNameAndKeyWithScore(IPKIFNameAndKeyPtr& nameAndKey);
00033     ~CPKIFNameAndKeyWithScore();
00034 
00035     int GetScore() const;
00036     void AddToScore(int additionalPoints);
00037     void ClearScore();
00038 
00039     //functions to set, clear and get the ignore flag (used by builder)
00040     void SetIgnore();
00041     void ClearIgnore();
00042     bool GetIgnore() const;
00043 
00044     void SetNameIgnore();
00045     void ClearNameIgnore();
00046 
00047     IPKIFNameAndKeyPtr GetNameAndKey() const;
00048     bool operator==(const IPKIFNameAndKey& rhs) const;
00049     bool operator==(const CPKIFNameAndKeyWithScore& rhs) const;
00050 
00051 private:
00052     CPKIFNameAndKeyWithScore();
00053     CPKIFNameAndKeyWithScore(const CPKIFNameAndKeyWithScore& copy);
00054     CPKIFNameAndKeyWithScore& operator=(const CPKIFNameAndKeyWithScore& rhs); 
00055 
00056     int m_score;
00057     IPKIFNameAndKeyPtr m_nameAndKey;
00058     bool m_bIgnore;
00059     bool m_bNameIgnore;
00060 };
00061 DECLARE_SMART_POINTERS(CPKIFNameAndKeyWithScore);
00062 typedef std::vector<CPKIFNameAndKeyWithScorePtr, PKIFAlloc<CPKIFNameAndKeyWithScorePtr> > CPKIFNameAndKeyWithScoreList; 
00063 DECLARE_SMART_POINTERS(CPKIFNameAndKeyWithScoreList);
00064 
00065 #endif

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