00001 #ifndef Goofy_H 00002 #define Goofy_H 00003 00004 #include <string> 00005 #include <vector> 00006 00007 class GoofyMessenger; 00008 class ProjectMessenger; 00009 class RandomCenterMessenger; 00010 00011 enum RunMode {Batch, Interactive}; 00012 00013 class Goofy { 00014 public: 00015 Goofy(); 00016 Goofy(int, char**); 00017 ~Goofy(); 00018 static int Shell(std::string s); 00019 private: 00020 RunMode rm; 00021 std::string runmacro; 00022 std::string initmacro; 00023 std::vector<std::string> opts; 00024 void Banner(); 00025 void SetJobOptions(); 00026 GoofyMessenger *theMessenger; 00027 ProjectMessenger *theProject; 00028 RandomCenterMessenger *theRandomCenter; 00029 }; 00030 00031 #endif