00001 00017 #ifndef PLUGINMANAGER_H 00018 #define PLUGINMANAGER_H 00019 00020 #include <iostream> 00021 #include <fstream> 00022 #include <vector> 00023 #include <errno.h> 00024 #include <string.h> 00025 #include "NodeList.h" 00026 #include "PluginWrapper.h" 00027 00036 class PluginManager { 00037 public: 00038 PluginManager(); 00039 ~PluginManager(); 00040 00041 void loadPlugins(string); 00042 void initialize(void); 00043 void preSim(void); 00044 void midSim(NodeList &); 00045 void postSim(void); 00046 void close(void); 00047 00048 void setROOTDIR(string s){ROOTDIR=s;}; 00049 void setOutFile(string s){outFile=s;}; 00050 void setSIMDIR(string s){SIMDIR=s;}; 00051 void setRunName(string s){RunName=s;}; 00052 void setT(int i){t=i;}; 00053 void setDUMP(string s){DUMP=s;}; 00054 void setAnalysisPoint(int i){analysisPt=i;}; 00055 void setLogic(string s){logic=s;}; 00056 void setSpecs(string s){specs=s;}; 00057 string getLogic(void){return logic;inFileChange=false;}; 00058 string getSpecs(void){return specs;inFileChange=false;}; 00059 bool fileChange(){return inFileChange;}; 00060 00061 private: 00062 int lastCalc; 00063 bool inFileChange; 00064 vector<PluginWrapper> plugins; 00065 int t; 00066 string ROOTDIR; 00067 string outFile; 00068 string SIMDIR; 00069 string RunName; 00070 string DUMP; 00071 string logic; 00072 string specs; 00073 int analysisPt; 00074 }; 00075 00076 #endif