00001 #ifndef SCT_IS_IONAMEIS_H 00002 #define SCT_IS_IONAMEIS_H 00003 00004 #include "../IOName.h" 00005 #include <string> 00006 00007 using std::string; 00008 00009 namespace Sct { 00010 namespace IS { 00011 00012 class IONameIS : public IOName { 00013 public: 00014 IONameIS(const string& nameIO) throw(InvalidArgument); 00015 IONameIS(const string& uniqueID, const string& className) throw(); 00016 IONameIS(const string& uniqueID, const string& className, const string& server) throw(); 00017 virtual ~IONameIS() throw(); 00018 00019 static string getRegExp(const string& className) throw(); 00020 string getClassName() const throw(); 00021 void setServer(const string& server) throw(); 00022 string getServer() const throw(); 00023 static string getDefaultServer() throw(); 00024 static void setDefaultServer(const string& server) throw(); 00025 string getModuleName() const; 00026 unsigned long getScanNumber() const; 00027 unsigned long getRunNumber() const; 00028 00029 protected: 00030 virtual void parse() throw(InvalidArgument); 00031 virtual void construct() throw(); 00032 00033 private: 00034 static string defaultServer; 00035 string server; 00036 }; 00037 } 00038 } 00039 00040 #endif //SCT_IS_IONAMEIS_H