00001 #ifndef SCT_IONAME_H 00002 #define SCT_IONAME_H 00003 00004 #include "LogicErrors.h" 00005 00006 namespace Sct { 00007 00008 00009 class IOName { 00010 public: 00011 IOName(const string& nameIO) throw(InvalidArgumentError); 00012 IOName(const string& uniqueID, const string& className) throw(); 00013 virtual ~IOName() throw(); 00014 00015 string getIOName() const throw(); 00016 string getUniqueID() const throw(); 00017 00018 protected: 00023 virtual void parse() throw(InvalidArgumentError) = 0; 00024 00028 virtual void construct() throw() = 0; 00029 00030 string uniqueID; 00031 string className; 00032 string nameIO; 00033 }; 00034 00035 } 00036 00037 #endif //SCT_IONAME_H