Generic hardware access library
/home/cschwick/hal/generic/include/hal/AbstractCommandFactory.hh
Go to the documentation of this file.
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