Generic hardware access library
|
00001 #ifndef __PersistentCommandSequencer 00002 #define __PersistentCommandSequencer 00003 00004 #include <string> 00005 #include <map> 00006 00007 #include "hal/NoSuchFileException.hh" 00008 #include "hal/CommandSequencer.hh" 00009 #include "hal/CommandSequence.hh" 00010 #include "hal/CommandSequenceASCIIReader.hh" 00011 00012 namespace HAL { 00013 00034 class PersistentCommandSequencer : public CommandSequencer { 00035 public: 00036 00045 PersistentCommandSequencer( std::string configurationFile, 00046 const AddressTableInterface& addressTable ) 00047 throw( IllegalOperationException ); 00048 00049 ~PersistentCommandSequencer(); 00050 00051 void registerSequence( std::string sequenceName ); 00052 00053 void deleteSequence( std::string sequenceName ) 00054 throw( IllegalValueException ); 00055 00056 void deleteSequences(); 00057 00058 private: 00059 00060 void loadSequences( ); 00061 void saveSequences(); 00062 00063 std::string configurationFile; 00064 const AddressTableInterface& addressTable; 00065 std::map< std::string, CommandSequenceReader* > readerMap; 00066 }; 00067 00068 } /* namespace HAL */ 00069 00070 #endif /* __PersistentCommandSequencer */