00001 /* $Id: OSDipFactoryInitializer.cpp 3038 2009-11-07 11:43:44Z Gassmann $ */ 00015 #include<map> 00016 #include "OSDipBlockSolverFactory.h" 00017 #include "OSDipBlockCoinSolver.h" 00018 #include "OSDipBlockSlpSolver.h" 00019 #include "OSDipBlockBearcatSolver.h" 00020 //#include "MyBlockSolver.h" 00021 00022 00023 #include <string> 00024 00025 00026 class OSDipFactoryInitializer{ 00027 00028 public: 00029 //the constructor 00030 OSDipFactoryInitializer(){ 00031 // user edit this, e.g 00032 //OSDipBlockSolverFactory::factories["MyBlockSolver"] = new MyBlockSolver::Factory; 00033 OSDipBlockSolverFactory::factories["OSDipBlockCoinSolver"] = new OSDipBlockCoinSolver::Factory; 00034 OSDipBlockSolverFactory::factories["OSDipBlockSlpSolver"] = new OSDipBlockSlpSolver::Factory; 00035 OSDipBlockSolverFactory::factories["OSDipBlockBearcatSolver"] = new OSDipBlockBearcatSolver::Factory; 00036 } 00037 00038 00039 //the destructor 00040 ~OSDipFactoryInitializer(){ 00041 00042 std::map<std::string, OSDipBlockSolverFactory*>::iterator mit ; 00043 for(mit = OSDipBlockSolverFactory::factories.begin(); 00044 mit != OSDipBlockSolverFactory::factories.end(); mit++){ 00045 delete mit->second; 00046 //std::cout << "DELETED A FACTORY " << std::endl; 00047 } 00048 }//end destructor 00049 }; 00050