00001 00009 #ifndef __PKIFREVERSIBLEPATHBUILDER_H__ 00010 #define __PKIFREVERSIBLEPATHBUILDER_H__ 00011 00012 #include "PKIFdll.h" 00013 #include "IPKIFColleague.h" 00014 #include "IPKIFPathBuild.h" 00015 #include "components.h" 00016 00030 class CAC_API CPKIFReversiblePathBuilder : public IPKIFColleague, public IPKIFPathBuild 00031 { 00032 friend struct CPKIFReversiblePathBuilderImpl; 00033 public: 00034 CPKIFReversiblePathBuilder(PKIFENUMS::PathBuildingDirection pbd = PBD_REVERSE); 00035 virtual ~CPKIFReversiblePathBuilder(void); 00036 00037 PathBuildingDirection GetDirection() const; 00038 00039 //IPKIFColleague functions 00040 void Initialize(); 00041 00042 bool BuildPath(CPKIFCertificatePath& path); 00043 00044 private: 00046 CPKIFReversiblePathBuilder(const CPKIFReversiblePathBuilder& copy); 00048 CPKIFReversiblePathBuilder& operator=(const CPKIFReversiblePathBuilder& rhs); 00049 00050 struct CPKIFReversiblePathBuilderImpl* m_impl; 00051 00052 enum {thisComponent=TOOLKIT_PATH_BUILDER}; 00053 }; 00054 DECLARE_SMART_POINTERS(CPKIFReversiblePathBuilder); 00055 #endif