Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

IOName.h

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(InvalidArgumentError);
00013     virtual ~IOName() throw();
00014     
00015     string getIOName() const throw();
00016     string getUniqueID() const throw();
00017     string getClassName() const throw();
00018 
00020     virtual bool wildcard() const;
00021     typedef std::list<shared_ptr<IOName> >::iterator iterator;
00022     typedef std::list<shared_ptr<IOName> >::const_iterator const_iterator;
00024     iterator begin();
00026     iterator end();
00028     const_iterator begin() const;
00030     const_iterator end() const;
00031  protected: protected:
00036     virtual void parse() throw(InvalidArgumentError) = 0;
00037     
00041     virtual void construct() throw() = 0;
00042     
00046     virtual void expandWildcards();
00047     string uniqueID;
00048     string className;
00049     string nameIO;
00050     std::list<shared_ptr<IOName> > m_list;
00051     mutable bool m_wildcardsExpanded;
00052     IOName() {}
00053 };
00054 
00055 }
00056 
00057 #endif //SCT_IONAME_H

Generated on Thu Jul 15 09:50:47 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5