31#ifndef DW_FRAMEWORK_EXCEPTIONSAFENODE_HPP_
32#define DW_FRAMEWORK_EXCEPTIONSAFENODE_HPP_
60 return m_impl->setInputChannel(channel, portID);
67 return m_impl->setInputChannel(channel, portID, dataType);
74 return m_impl->setOutputChannel(channel, portID);
85 dwStatus
run()
override
94 return m_impl->getPassCount();
100 return m_impl->runPassByID(passID);
109 dw::core::Logger::Verbosity::WARN);
112 dwStatus
getPasses(VectorFixed<Pass*>& passList)
override
115 return m_impl->getPasses(passList);
120 dwProcessorType processorType,
121 dwProcessType processType)
override
124 return m_impl->getPasses(passList, processorType, processType);
131 return m_impl->setName(name);
138 return m_impl->getName(name);
145 return m_impl->getErrorSignal(errorSignal);
152 return m_impl->getHealthSignal(healthSignal, updateFromModule);
159 return m_impl->reportCurrentErrorSignal(signal);
166 return m_impl->reportCurrentHealthSignal(signal);
173 return m_impl->setIterationCount(iterationCount);
180 return m_impl->setState(state);
197 throw Exception(DW_INVALID_ARGUMENT,
"Not a sensor node");
213 return m_impl->setInputChannel(channel, portID);
220 return m_impl->setInputChannel(channel, portID, dataType);
227 return m_impl->setOutputChannel(channel, portID);
234 return m_impl->validate();
289 return m_impl->getPassCount();
295 return m_impl->runPassByID(passID);
304 dw::core::Logger::Verbosity::WARN);
307 dwStatus
getPasses(VectorFixed<Pass*>& passList)
override
310 return m_impl->getPasses(passList);
315 dwProcessorType processorType,
316 dwProcessType processType)
override
319 return m_impl->getPasses(passList, processorType, processType);
326 return m_impl->setName(name);
333 return m_impl->getName(name);
361 return m_impl->getErrorSignal(errorSignal);
368 return m_impl->getHealthSignal(healthSignal, updateFromModule);
375 return m_impl->reportCurrentErrorSignal(signal);
382 return m_impl->reportCurrentHealthSignal(signal);
389 return m_impl->setIterationCount(iterationCount);
396 return m_impl->setState(state);
Basic error signal that gets reported only when there is an error.
Basic health signal that describes the health status of the graph.
~ExceptionSafeProcessNode() override=default
dwStatus setInputChannel(ChannelObject *channel, uint8_t portID, dwSerializationType dataType) override
dwStatus reportCurrentErrorSignal(dwGraphErrorSignal &signal) override
dwStatus getPasses(VectorFixed< Pass * > &passList, dwProcessorType processorType, dwProcessType processType) override
dwStatus setState(const char *state) override
dwStatus getErrorSignal(dwGraphErrorSignal *&errorSignal) override
dwStatus runPassByID(uint8_t passID) override
dwStatus setOutputChannel(ChannelObject *channel, uint8_t portID) override
size_t getPassCount() const noexcept override
dwStatus getName(const char **name) override
ExceptionSafeProcessNode(std::unique_ptr< Node > impl)
dwStatus runPass(size_t passIndex) override
std::unique_ptr< Node > m_impl
dwStatus validate() override
dwStatus setIterationCount(uint32_t iterationCount) override final
dwStatus setName(const char *name) override
dwStatus getPasses(VectorFixed< Pass * > &passList) override
dwStatus setInputChannel(ChannelObject *channel, uint8_t portID) override
dwStatus getHealthSignal(dwGraphHealthSignal *&healthSignal, bool updateFromModule=false) override
dwStatus reset() override
dwStatus reportCurrentHealthSignal(dwGraphHealthSignal &signal) override
dwStatus setEndTime(dwTime_t endTime) override
dwStatus reportCurrentHealthSignal(dwGraphHealthSignal &signal) override
dwStatus setState(const char *state) override
dwStatus setName(const char *name) override
dwStatus reset() override
~ExceptionSafeSensorNode() override=default
dwStatus runPass(size_t passIndex) override
std::unique_ptr< Node > m_impl
dwStatus setOutputChannel(ChannelObject *channel, uint8_t portID) override
dwStatus isVirtual(bool *isVirtualBool) override
ISensorNode * m_sensorNodeImpl
dwStatus getHealthSignal(dwGraphHealthSignal *&healthSignal, bool updateFromModule=false) override
size_t getPassCount() const noexcept override
dwStatus setInputChannel(ChannelObject *channel, uint8_t portID, dwSerializationType dataType) override
dwStatus setDataEventWriteCallback(DataEventWriteCallback cb) override
dwStatus reportCurrentErrorSignal(dwGraphErrorSignal &signal) override
dwStatus setAffinityMask(uint mask) override
dwStatus setIterationCount(uint32_t iterationCount) override final
dwStatus setInputChannel(ChannelObject *channel, uint8_t portID) override
dwStatus getPasses(VectorFixed< Pass * > &passList) override
dwStatus start() override
dwStatus getName(const char **name) override
dwStatus getPasses(VectorFixed< Pass * > &passList, dwProcessorType processorType, dwProcessType processType) override
ExceptionSafeSensorNode(std::unique_ptr< Node > impl)
dwStatus validate() override
dwStatus setStartTime(dwTime_t startTime) override
dwStatus setThreadPriority(int prio) override
dwStatus runPassByID(uint8_t passID) override
dwStatus getErrorSignal(dwGraphErrorSignal *&errorSignal) override
dwStatus setDataEventReadCallback(DataEventReadCallback cb) override
static dwStatus guardWithReturn(TryBlock tryBlock, dw::core::Logger::Verbosity verbosity=dw::core::Logger::Verbosity::DEBUG)
virtual dwStatus setAffinityMask(uint)=0
Sets the affinity mask of the sensor.
virtual dwStatus setDataEventReadCallback(DataEventReadCallback cb)=0
Set read timestamp function for dataset replay. Timestamps not in the sequence returned by the callba...
virtual dwStatus setDataEventWriteCallback(DataEventWriteCallback cb)=0
Set write timestamp function for live case. Each timestamp of data output from the node will be passe...
virtual dwStatus start()=0
Start the sensor.
virtual dwStatus setEndTime(dwTime_t)=0
Set end timestamp for dataset replay.
dw::core::Function< bool(DataEvent &)> DataEventReadCallback
virtual dwStatus stop()=0
Stop the sensor.
virtual dwStatus isVirtual(bool *isVirtualBool)=0
distinguishes between a live and virtual sensor
dw::core::Function< void(DataEvent)> DataEventWriteCallback
virtual dwStatus setThreadPriority(int)=0
Sets the thread priority of the sensor.
virtual dwStatus setStartTime(dwTime_t)=0
Set start timestamp for dataset replay.
constexpr size_t passIndex(dw::core::StringView identifier)
Get the the pass index for a pass identified by name.