GeneralSubtree.h

Go to the documentation of this file.
00001 
00009 #ifndef __GeneralSubtree_H__
00010 #define __GeneralSubtree_H__
00011 
00012 #include "PKIFdll.h"
00013 #include "Buffer.h"
00014 #define CAC_API_FACTORY 
00015 
00016 #include <vector>
00017 
00018 #include "GeneralName.h"
00019 
00020 struct CPKIFGeneralSubtreeImpl;
00021 FD_SMART_PTR(CPKIFName);
00022 
00029 class CAC_API CPKIFGeneralSubtree
00030 {
00031 public:
00032     enum MatchState { MATCH, NO_MATCH, NOT_APPLICABLE };
00033     CPKIFGeneralSubtree();
00034     CPKIFGeneralSubtree(const CPKIFBufferPtr& genSubtree);
00035     //CPKIFGeneralSubtree(const CACX509V3GeneralSubtree& name);
00036     virtual ~CPKIFGeneralSubtree();
00037 
00038     CPKIFGeneralNamePtr GetBase() const;
00039     int GetMin() const;
00040     int GetMax() const;
00041 
00042     void SetBase(CPKIFGeneralNamePtr );
00043     void SetMin(int);
00044     void SetMax(int);
00045     void SetEmpty(void);
00046 
00047     static bool IsSupported(CPKIFGeneralName::GENNAMETYPE type);
00048 
00049     MatchState IsInSubtree(const CPKIFNamePtr& cert) const;
00050     MatchState IsInSubtree(const CPKIFGeneralNamePtr &) const;
00051 
00052     bool operator==(const CPKIFGeneralSubtree& rhs);
00053     CPKIFGeneralSubtree * ShallowCopy();
00054 
00055 private:
00056     CPKIFGeneralSubtree(const CPKIFGeneralSubtree& name);
00057     CPKIFGeneralSubtree& operator=(const CPKIFGeneralSubtree& rhs); //added 4/6/2004
00058 
00059     CPKIFGeneralSubtreeImpl *m_impl;
00060 };
00061 DECLARE_SMART_POINTERS(CPKIFGeneralSubtree);
00062 typedef std::vector<CPKIFGeneralSubtreePtr, PKIFAlloc<CPKIFGeneralSubtreePtr> > CPKIFGeneralSubtreeList;
00063 DECLARE_SMART_POINTERS(CPKIFGeneralSubtreeList);
00064 typedef CPKIFGeneralSubtreeList CPKIFGeneralSubtrees;
00065 DECLARE_SMART_POINTERS(CPKIFGeneralSubtrees);
00066 #endif

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