#include <devicesystemintf.h>
Inheritance diagram for simth::DeviceSystemIntf:
Public Member Functions | |
DeviceSystemIntf () | |
virtual | ~DeviceSystemIntf () |
virtual void | connectInterface (ControlInterface *interface, const std::string &varName)=0 |
virtual Device * | device (int deviceNr)=0 |
virtual const Device * | device (int deviceNr) const =0 |
virtual void | queueForProcess (Device *dev) |
virtual void | stopIteration () |
virtual void | stopSimulationPremature () |
template<class T> | |
void | writeParameter (const std::string ¶meterName, const T &value) throw (simth::name_conflict) |
template<class T> | |
T | readParameter (const std::string ¶meterName) const throw (simth::no_such_parameter, simth::type_error) |
virtual void | warningMessage (const std::string &warningMess, int deviceNr) const =0 |
Protected Member Functions | |
void | printParameterList (std::ostream &os) const |
This class declares functions to access a SimulationSystem. The class Device takes this interface to access the simulation system.
|
Class constructor. |
|
Virtual Destructor. |
|
Connects a ControlInterface of the Device calling this function, to a loop control of the SimulationDeviceIntf.
Implemented in simth::StreamDrivenSystem. |
|
Returns a pointer to the specified device. |
|
Returns a pointer to the specified device. (Constant version) Implemented in simth::StreamDrivenSystem. |
|
Queue the given device for Device::process() in the process queue. If a device sends this 'READY_TO_PROCESS' signal, the StreamDrivenSystem will queue a request for processing of that device in a 'process queue'. During a simulation run, the StreamDrivenSystem calls the process functions of the device whose 'request for processing' is in the first position of the process queue, and then consecutively every next device.
Reimplemented in simth::StreamDrivenSystem. |
|
Stops the current iteration. This means, that no new(!) request for processing will be accepted by the StreamDrivenSystem and the process function of the start device will not be called if the process queue runs empty. With other words, only 'request for processing' that had been queued in the process queue, will be processed by the StreamDrivenSimulationSystem, i.e. the process functions of the corresponding devices will be called. Reimplemented in simth::StreamDrivenSystem. |
|
Stops not only the current iteration, but also the complete simulation run no matter how many iterations are still undone. This also calls stopIteration() internally. Reimplemented in simth::StreamDrivenSystem. |
|
DEPRECATED. Writes a parameter of any type to the system-wide parameter list. This concept is deprecated because it totally blurs the data flow between the devices. Please don't use it anymore. This can be useful, if a device would like to give some parameter values to other devices. If the list already contains a parameter with the given name but a different value, a simth::name_conflict error is thrown.
|
|
DEPRECATED. Reads a parameter of any type from the system-wide parameter list. This concept is deprecated because it totally blurs the data flow between the devices. Please don't use it anymore. This can be useful, if a device would get some parameter values from other devices. However, these parameter values must have been written to that list before using writeParameter(). If the list contains no parameter with the given name, a simth::no_such_parameter error is thrown. If the parameter value stored in the list with the given name and the value a device asked for have different types, a simth::type_error error is thrown.
|
|
This function can be used to print out warnings. Implemented in simth::FreeConnectionSystem. |
|
Prints the system parameters to the given output stream. |