Generic hardware access library
HAL::CommandSequencer Class Reference

#include <CommandSequencer.hh>

List of all members.

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.
CommandSequencegetSequence (std::string sequenceName) throw ( IllegalValueException )
 Get a Sequence if it exists.

Private Attributes

std::map< std::string,
CommandSequence * > 
sequenceMap

Detailed Description

Definition at line 17 of file CommandSequencer.hh.


Constructor & Destructor Documentation

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.

See also:
CommandSequence
Author:
Christoph Schwick
Revision:
1.1
Date:
2007/03/05 18:02:09

Definition at line 37 of file CommandSequencer.hh.


Member Function Documentation

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.

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.

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.

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.

Rescan the specific sequence.

Definition at line 54 of file CommandSequencer.cc.

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.


Member Data Documentation

std::map<std::string, CommandSequence*> HAL::CommandSequencer::sequenceMap [private]

Definition at line 105 of file CommandSequencer.hh.


The documentation for this class was generated from the following files: