00001 #ifndef ParametricExecution_HPP 00002 #define ParametricExecution_HPP 00003 00004 #include <string> 00005 #include <fstream> 00006 #include <vector> 00007 00008 using namespace std; 00009 00010 00022 class ParametricExecution{ 00023 00024 private: 00025 00026 string appId; 00027 string appConstraints; 00028 string appPreferences; 00029 int numExecs; 00030 std::vector <std::string> argList; 00032 //FIXME:REFACTOR VARIABLE NAME 00033 00034 00035 00036 00044 void parseAppId(ifstream & ifs); 00045 00055 void parseCommandLines(ifstream & ifs); 00056 00062 void parseAppPrefs(ifstream & ifs); 00063 00064 00070 void parseAppConstraints(ifstream & ifs); 00071 00077 void filterComments(string & str); 00078 00079 00080 public: 00081 00087 ParametricExecution(string execDescriptor); 00088 00092 void dumpSpecs(); 00093 00094 00098 int getNumExecs(){ return numExecs; } 00099 00103 string getAppId(){ return appId; } 00104 00108 string getAppPreferences(){ return appPreferences; } 00109 00113 string getAppConstraints(){ return appConstraints; } 00114 00121 string getCommandLine(int index){ return argList[index]; } 00122 00123 00124 00125 }; 00126 00127 00128 #endif//ParametricExecution