25 #ifndef DSPSIGNALBUS_H
26 #define DSPSIGNALBUS_H
30 #include "DspSignal.h"
49 bool AddSignal( std::string signalName =
"" );
51 bool SetSignal(
unsigned short signalIndex,
const DspSignal* newSignal );
52 bool SetSignal( std::string signalName,
const DspSignal* newSignal );
54 DspSignal* GetSignal(
unsigned short signalIndex );
55 DspSignal* GetSignal( std::string signalName );
57 bool FindSignal( std::string signalName,
unsigned short& returnIndex )
const;
58 bool FindSignal(
unsigned short signalIndex,
unsigned short& returnIndex )
const;
60 unsigned short GetSignalCount()
const;
62 void RemoveAllSignals();
64 template<
class ValueType >
65 bool SetValue(
unsigned short signalIndex,
const ValueType& newValue );
67 template<
class ValueType >
68 bool SetValue( std::string signalName,
const ValueType& newValue );
70 template<
class ValueType >
71 bool GetValue(
unsigned short signalIndex, ValueType& returnValue )
const;
73 template<
class ValueType >
74 bool GetValue( std::string signalName, ValueType& returnValue )
const;
76 void ClearValue(
unsigned short signalIndex );
77 void ClearValue( std::string signalName );
79 void ClearAllValues();
82 std::vector< DspSignal > _signals;
87 template<
class ValueType >
88 bool DspSignalBus::SetValue(
unsigned short signalIndex,
const ValueType& newValue )
90 if( signalIndex < _signals.size() )
92 return _signals[signalIndex].SetValue( newValue );
102 template<
class ValueType >
103 bool DspSignalBus::SetValue( std::string signalName,
const ValueType& newValue )
105 unsigned short signalIndex;
107 if( FindSignal( signalName, signalIndex ) )
109 return _signals[signalIndex].SetValue( newValue );
119 template<
class ValueType >
120 bool DspSignalBus::GetValue(
unsigned short signalIndex, ValueType& returnValue )
const
122 if( signalIndex < _signals.size() )
124 return _signals[signalIndex].GetValue( returnValue );
134 template<
class ValueType >
135 bool DspSignalBus::GetValue( std::string signalName, ValueType& returnValue )
const
137 unsigned short signalIndex;
139 if( FindSignal( signalName, signalIndex ) )
141 return _signals[signalIndex].GetValue( returnValue );
151 #endif // DSPSIGNALBUS_H