Generic hardware access library
|
00001 #ifndef __CommandCreator 00002 #define __CommandCreator 00003 00004 #include <list> 00005 #include <string> 00006 #include <map> 00007 00008 #include "hal/SequencerCommand.hh" 00009 #include "hal/AbstractCommandFactory.hh" 00010 #include "hal/SequencerSyntaxError.hh" 00011 #include "hal/NoSuchItemException.hh" 00012 #include "hal/AddressTableInterface.hh" 00013 00014 // 12 Commands 00015 #include "hal/WriteFactory.hh" 00016 #include "hal/UnmaskedWriteFactory.hh" 00017 #include "hal/SetBitFactory.hh" 00018 #include "hal/ResetBitFactory.hh" 00019 #include "hal/DefineFactory.hh" 00020 #include "hal/AddFactory.hh" 00021 #include "hal/ReadFactory.hh" 00022 #include "hal/UnmaskedReadFactory.hh" 00023 #include "hal/LabelFactory.hh" 00024 #include "hal/GotoFactory.hh" 00025 #include "hal/PrintFactory.hh" 00026 #include "hal/CheckFactory.hh" 00027 #include "hal/PollItemFactory.hh" 00028 00029 namespace HAL { 00030 00031 class CommandSequence; 00032 00062 class CommandCreator { 00063 public: 00070 CommandCreator(); 00071 virtual ~CommandCreator(); 00072 00081 SequencerCommand* create( std::list<std::string> commandStringList, 00082 const AddressTableInterface& addressTable, 00083 CommandSequence& sequence) 00084 throw (SequencerSyntaxError, NoSuchItemException); 00085 00086 private: 00087 std::map< std::string, AbstractCommandFactory* > commandFactoryMap; 00088 }; 00089 00090 } /* namespace HAL */ 00091 00092 #endif /* __CommandCreator */