IOName.h

00001 #ifndef SCT_IONAME_H
00002 #define SCT_IONAME_H
00003 
00004 #include "Sct/LogicErrors.h"
00005 #include "Sct/UniqueID.h"
00006 
00007 namespace Sct {
00008 
00014 class IOName {
00015 public:
00016     IOName(const string& nameIO) throw(InvalidArgumentError);
00017     IOName(const UniqueID& uniqueID, const string& className) throw(InvalidArgumentError);
00018     virtual ~IOName() throw();
00019     
00020     string getIOName() const throw();
00021     UniqueID getUniqueID() const throw();
00022     string getClassName() const throw();
00023 
00025     virtual bool wildcard() const;
00026     typedef std::list<shared_ptr<IOName> >::iterator iterator;
00027     typedef std::list<shared_ptr<IOName> >::const_iterator const_iterator;
00029     iterator begin();
00031     iterator end();
00033     const_iterator begin() const;
00035     const_iterator end() const;
00036  protected: protected:
00041     virtual void parse() throw(InvalidArgumentError) = 0;
00042     
00046     virtual void construct() throw() = 0;
00047     
00051     virtual void expandWildcards();
00052     UniqueID uniqueID;
00053     string className;
00054     string nameIO;
00055     std::list<shared_ptr<IOName> > m_list;
00056     mutable bool m_wildcardsExpanded;
00057     IOName() {}
00058 };
00059 
00060 }
00061 
00062 #endif //SCT_IONAME_H

Generated on Mon Feb 6 14:01:21 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6