Generic hardware access library
|
#include <CommandSequencer.hh>
Public Member Functions | |
virtual | ~CommandSequencer () |
A class to excecute sequences of hardware access commands. | |
virtual void | registerSequence (CommandSequence &sequence) |
Register a reference to a new Sequence. | |
void | run (std::string sequenceName, const HardwareDeviceInterface &device) const throw (IllegalValueException, SequencerSyntaxError, IllegalOperationException, BusAdapterException, MaskBoundaryException, TimeoutException ) |
Run a sequence on an explicit hardware device. | |
std::vector< std::string > | getNameVector () const |
Return a vector of registered sequence names. | |
virtual void | deleteSequence (std::string sequenceName) throw ( IllegalValueException ) |
Deletes a sequences registered with the Sequencer and erases it from the internal data structures. | |
virtual void | deleteSequences () |
Deletes all Sequences registered with the Sequencer and erases them from the internal data structures. | |
void | rescan (std::string sequenceName) throw (IllegalValueException, NoSuchItemException, SequencerSyntaxError) |
Rescan the specific sequence. | |
CommandSequence & | getSequence (std::string sequenceName) throw ( IllegalValueException ) |
Get a Sequence if it exists. | |
Private Attributes | |
std::map< std::string, CommandSequence * > | sequenceMap |
Definition at line 17 of file CommandSequencer.hh.
virtual HAL::CommandSequencer::~CommandSequencer | ( | ) | [inline, virtual] |
A class to excecute sequences of hardware access commands.
The Sequencer stores a number of command sequences which can be excecuted at any time. Look at the CommandSequence documentation to learn more about the sequences themselves.
Definition at line 37 of file CommandSequencer.hh.
void HAL::CommandSequencer::deleteSequence | ( | std::string | sequenceName | ) | throw ( IllegalValueException ) [virtual] |
Deletes a sequences registered with the Sequencer and erases it from the internal data structures.
It is virtual in case a user wants to derive from this class and overwrite the method.
Definition at line 34 of file CommandSequencer.cc.
void HAL::CommandSequencer::deleteSequences | ( | ) | [virtual] |
Deletes all Sequences registered with the Sequencer and erases them from the internal data structures.
It is virtual in case a user wants to derive from this class.
Definition at line 46 of file CommandSequencer.cc.
std::vector< std::string > HAL::CommandSequencer::getNameVector | ( | ) | const |
Return a vector of registered sequence names.
Definition at line 25 of file CommandSequencer.cc.
HAL::CommandSequence & HAL::CommandSequencer::getSequence | ( | std::string | sequenceName | ) | throw ( IllegalValueException ) |
Get a Sequence if it exists.
This function can be useful if access to the variables of the sequence is needed.
Definition at line 67 of file CommandSequencer.cc.
void HAL::CommandSequencer::registerSequence | ( | HAL::CommandSequence & | sequence | ) | [virtual] |
Register a reference to a new Sequence.
The internal data container does NOT hold a copy to the sequence but only stores a pointer to it. Therefore the Sequence must not be destroyed before the CommandSequencer is destroyed since only a pointer to the sequence is stored. But the caller stays the owner of the sequence ! (i.e. he is responsible for deleting sequences if necessary). But look at the deleteSequences method, too! (There the user can explicitly delete all registered sequences.) The function is virtual in case a user wants to derive from this class and overwrite the function.
Definition at line 4 of file CommandSequencer.cc.
void HAL::CommandSequencer::rescan | ( | std::string | sequenceName | ) | throw (IllegalValueException, NoSuchItemException, SequencerSyntaxError) |
Rescan the specific sequence.
Definition at line 54 of file CommandSequencer.cc.
void HAL::CommandSequencer::run | ( | std::string | sequenceName, |
const HardwareDeviceInterface & | device | ||
) | const throw (IllegalValueException, SequencerSyntaxError, IllegalOperationException, BusAdapterException, MaskBoundaryException, TimeoutException ) |
Run a sequence on an explicit hardware device.
The device is not stored with the sequence itself because then a sequence could not be shared among several devices of the same kind.
Definition at line 8 of file CommandSequencer.cc.
std::map<std::string, CommandSequence*> HAL::CommandSequencer::sequenceMap [private] |
Definition at line 105 of file CommandSequencer.hh.