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