Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

simth::OutputInterface Class Reference

Abstract base class of all output interfaces. More...

#include <interfaces.h>

Inheritance diagram for simth::OutputInterface:

simth::DataInterface simth::OutputInterfaceT< T > List of all members.

Public Member Functions

 OutputInterface (Device *const dev, int ID)
virtual ~OutputInterface ()
virtual void connect (InputInterface *interfacePtr)=0
virtual void reset ()=0
virtual size_t sequenceCapacity () const =0
virtual size_t sequenceLength () const =0
virtual void setSequenceCapacity (size_t size)=0
virtual void setSequenceLength (size_t size)=0
virtual bool isConnected () const =0
virtual void flushProcessedSequences ()=0
virtual void processFinished ()=0

Static Protected Member Functions

static std::string wrongConnectionMsg (const std::type_info &output_if, const std::type_info &input_if)

Detailed Description

Abstract base class of all output interfaces.

The output interface provides sequences that are used by the parent device as output sequences. (Actually it provides for the parent device a direct connection to one (or more) input interface of connected devices.)

The output sequence that can be used by the device is returned by the function internSequence(). Since this function is a template function it is not defined in this abstract base class but it is defined in the derived template class.

The resulting length of the output sequence equals sequenceLength() while the capacity that can be used equals sequenceCapacity(). Unlike with vectors defined in the STD-library, an output sequence can only be resized to sizes that are smaller or equal the capacity of that output sequence.


Constructor & Destructor Documentation

simth::OutputInterface::OutputInterface Device *const   dev,
int  ID
[inline]
 

virtual simth::OutputInterface::~OutputInterface  )  [inline, virtual]
 


Member Function Documentation

virtual void simth::OutputInterface::connect InputInterface interfacePtr  )  [pure virtual]
 

Implemented in simth::OutputInterfaceT< T >.

virtual void simth::OutputInterface::reset  )  [pure virtual]
 

Resets the interface. After calling that function the interface should behave as before any data had arrived.

Implemented in simth::OutputInterfaceT< T >.

virtual size_t simth::OutputInterface::sequenceCapacity  )  const [pure virtual]
 

Returns the capacity of the output sequence. See class documentation for more details.

Implemented in simth::OutputInterfaceT< T >.

virtual size_t simth::OutputInterface::sequenceLength  )  const [pure virtual]
 

Returns the length of the output sequence.

Implemented in simth::OutputInterfaceT< T >.

virtual void simth::OutputInterface::setSequenceCapacity size_t  size  )  [pure virtual]
 

Sets the capacity of the output sequence. See class documentation for more details.

Implemented in simth::OutputInterfaceT< T >.

virtual void simth::OutputInterface::setSequenceLength size_t  size  )  [pure virtual]
 

Sets the length of the output sequence.

Implemented in simth::OutputInterfaceT< T >.

virtual bool simth::OutputInterface::isConnected  )  const [pure virtual]
 

Returns true if the input interface is connected with another device

Implemented in simth::OutputInterfaceT< T >.

virtual void simth::OutputInterface::flushProcessedSequences  )  [pure virtual]
 

Informs the connected input interface, that the prompted output sequence is filled and can be used by the connected input interface.

Implemented in simth::OutputInterfaceT< T >.

virtual void simth::OutputInterface::processFinished  )  [pure virtual]
 

Is called when the process finished. For now it only checks some internal states of the output interface.

Implemented in simth::OutputInterfaceT< T >.

static std::string simth::OutputInterface::wrongConnectionMsg const std::type_info &  output_if,
const std::type_info &  input_if
[static, protected]
 

Returns the error message for non-matching types of a given output interface type and one input interface type. This already uses name demangling.

Note: You get the std::type_info object by calling typeid(MyClass)


Generated on Mon Apr 24 21:19:19 2006 for simthetic by  doxygen 1.4.1