Generic hardware access library
|
00001 #ifndef __AbstractCommandFactory 00002 #define __AbstractCommandFactory 00003 00004 #include <list> 00005 #include <string> 00006 00007 #include "hal/SequencerCommand.hh" 00008 #include "hal/AddressTableInterface.hh" 00009 #include "hal/SequencerSyntaxError.hh" 00010 #include "hal/NoSuchItemException.hh" 00011 00012 namespace HAL { 00013 00038 class CommandSequence; 00039 00040 class AbstractCommandFactory { 00041 00042 public: 00043 00044 virtual ~AbstractCommandFactory() {}; 00045 00052 virtual SequencerCommand* create( std::list<std::string>& arguments, 00053 const AddressTableInterface& addressTable, 00054 CommandSequence& sequence ) 00055 throw (SequencerSyntaxError, NoSuchItemException) = 0; 00056 00057 00058 protected: 00065 uint32_t stringToNumber( std::string numberString ) 00066 throw (SequencerSyntaxError); 00067 00068 }; 00069 00070 } /* namespace HAL */ 00071 00072 #endif /* __AbstractCommandFactory */ 00073