Compute Graph Framework SDK Reference  5.8
dw::framework::ExceptionSafeSensorNode Class Reference

Detailed Description

Definition at line 195 of file ExceptionSafeNode.hpp.

Inheritance diagram for dw::framework::ExceptionSafeSensorNode:
Collaboration diagram for dw::framework::ExceptionSafeSensorNode:

Public Member Functions

 ExceptionSafeSensorNode (std::unique_ptr< Node > impl)
 
dwStatus getErrorSignal (dwGraphErrorSignal *&errorSignal) override
 
dwStatus getHealthSignal (dwGraphHealthSignal *&healthSignal, bool updateFromModule=false) override
 
dwStatus getName (const char **name) override
 
size_t getPassCount () const noexcept override
 
dwStatus getPasses (VectorFixed< Pass * > &passList) override
 
dwStatus getPasses (VectorFixed< Pass * > &passList, dwProcessorType processorType, dwProcessType processType) override
 
dwStatus isVirtual (bool *isVirtualBool) override
 
dwStatus reportCurrentErrorSignal (dwGraphErrorSignal &signal) override
 
dwStatus reportCurrentHealthSignal (dwGraphHealthSignal &signal) override
 
dwStatus reset () override
 
void resetPorts () override
 
dwStatus run () override
 
dwStatus runPass (size_t passIndex) override
 
dwStatus runPassByID (uint8_t passID) override
 
dwStatus setAffinityMask (uint mask) override
 
dwStatus setDataEventReadCallback (DataEventReadCallback cb) override
 
dwStatus setDataEventWriteCallback (DataEventWriteCallback cb) override
 
dwStatus setEndTime (dwTime_t endTime) override
 
dwStatus setInputChannel (ChannelObject *channel, uint8_t portID) override
 
dwStatus setInputChannel (ChannelObject *channel, uint8_t portID, dwSerializationType dataType) override
 
dwStatus setIterationCount (uint32_t iterationCount) override final
 
dwStatus setName (const char *name) override
 
dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID) override
 
dwStatus setStartTime (dwTime_t startTime) override
 
dwStatus setState (const char *state) override
 
dwStatus setThreadPriority (int prio) override
 
dwStatus start () override
 
dwStatus stop () override
 
dwStatus validate () override
 
 ~ExceptionSafeSensorNode () override=default
 
- Public Member Functions inherited from dw::framework::Node
virtual dwStatus getErrorSignal (dwGraphErrorSignal *&errorSignal)=0
 Get the pointer to the error signal for this node. More...
 
virtual dwStatus getHealthSignal (dwGraphHealthSignal *&healthSignals, bool updateFromModule=false)=0
 Get the pointer to the health signal for this node. More...
 
virtual dwStatus getName (const char **name)=0
 Get the name of the node. More...
 
virtual size_t getPassCount () const noexcept=0
 Get number of passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList)=0
 Get all the passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList, dwProcessorType processorType, dwProcessType processType)=0
 Get node passes filtered by processor type and process type. More...
 
virtual dwStatus reportCurrentErrorSignal (dwGraphErrorSignal &signal)=0
 A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code. More...
 
virtual dwStatus reportCurrentHealthSignal (dwGraphHealthSignal &signal)=0
 A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code. More...
 
virtual dwStatus reset ()=0
 Resets the state of the node. More...
 
virtual void resetPorts ()=0
 Resets all the ports in the node. More...
 
virtual dwStatus run ()=0
 Runs all the passes in the node. More...
 
virtual dwStatus runPass (size_t passIndex)=0
 Run one pass by index as defined by the pass descriptors. More...
 
virtual dwStatus runPassByID (uint8_t passID)=0
 Run one pass by ID as defined by the PassList enum class. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID, dwSerializationType dataType)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setIterationCount (uint32_t iterationCount)=0
 Sets the node's iteration count. More...
 
virtual dwStatus setName (const char *name)=0
 Set the name of the node. More...
 
virtual dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an output channel for this node with an accompanying port. More...
 
virtual dwStatus setState (const char *state)=0
 Set the current state in node. Node implementation of this API need to be thread-safe. More...
 
virtual dwStatus validate ()=0
 Checks that all mandatory ports are bound. The implementation should validate that all the ports are bound to the appropriate channels (any required ports, that is). For example, a camera node may have processed output and raw output ports, but only one is required to be bound. More...
 
virtual ~Node ()=default
 
virtual dwStatus isVirtual (bool *isVirtualBool)=0
 distinguishes between a live and virtual sensor More...
 
virtual dwStatus setAffinityMask (uint)=0
 Sets the affinity mask of the sensor. More...
 
virtual dwStatus setDataEventReadCallback (DataEventReadCallback cb)=0
 Set read timestamp function for dataset replay. Timestamps not in the sequence returned by the callback will be dropped. More...
 
virtual dwStatus setDataEventWriteCallback (DataEventWriteCallback cb)=0
 Set write timestamp function for live case. Each timestamp of data output from the node will be passed to this callback. More...
 
virtual dwStatus setEndTime (dwTime_t)=0
 Set end timestamp for dataset replay. More...
 
virtual dwStatus setStartTime (dwTime_t)=0
 Set start timestamp for dataset replay. More...
 
virtual dwStatus setThreadPriority (int)=0
 Sets the thread priority of the sensor. More...
 
virtual dwStatus start ()=0
 Start the sensor. More...
 
virtual dwStatus stop ()=0
 Stop the sensor. More...
 

Protected Attributes

std::unique_ptr< Nodem_impl
 
ISensorNodem_sensorNodeImpl
 

Additional Inherited Members

- Public Types inherited from dw::framework::Node
using Name_t = FixedString< MAX_NAME_LEN >
 
- Public Types inherited from dw::framework::ISensorNode
using DataEventReadCallback = dw::core::Function< bool(DataEvent &)>
 
enum class  DataEventType {
  PRODUCE ,
  DROP ,
  NONE
}
 
using DataEventWriteCallback = dw::core::Function< void(DataEvent)>
 
- Static Public Attributes inherited from dw::framework::Node
static constexpr size_t MAX_NAME_LEN = 128
 
static constexpr uint32_t MAX_PASS_COUNT = 256
 
static constexpr uint32_t MAX_PORT_COUNT = 256
 
static constexpr uint8_t PASS_SETUP = std::numeric_limits<uint8_t>::max() - 1
 
static constexpr uint8_t PASS_TEARDOWN = std::numeric_limits<uint8_t>::max()
 

Constructor & Destructor Documentation

◆ ExceptionSafeSensorNode()

dw::framework::ExceptionSafeSensorNode::ExceptionSafeSensorNode ( std::unique_ptr< Node impl)
inlineexplicit

Definition at line 198 of file ExceptionSafeNode.hpp.

References m_sensorNodeImpl.

◆ ~ExceptionSafeSensorNode()

dw::framework::ExceptionSafeSensorNode::~ExceptionSafeSensorNode ( )
overridedefault

Member Function Documentation

◆ getErrorSignal()

dwStatus dw::framework::ExceptionSafeSensorNode::getErrorSignal ( dwGraphErrorSignal *&  errorSignal)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 365 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ getHealthSignal()

dwStatus dw::framework::ExceptionSafeSensorNode::getHealthSignal ( dwGraphHealthSignal *&  healthSignal,
bool  updateFromModule = false 
)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 372 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ getName()

dwStatus dw::framework::ExceptionSafeSensorNode::getName ( const char **  name)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 337 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ getPassCount()

size_t dw::framework::ExceptionSafeSensorNode::getPassCount ( ) const
inlineoverridevirtualnoexcept

Implements dw::framework::Node.

Definition at line 294 of file ExceptionSafeNode.hpp.

References m_impl.

◆ getPasses() [1/2]

dwStatus dw::framework::ExceptionSafeSensorNode::getPasses ( VectorFixed< Pass * > &  passList)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 314 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ getPasses() [2/2]

dwStatus dw::framework::ExceptionSafeSensorNode::getPasses ( VectorFixed< Pass * > &  passList,
dwProcessorType  processorType,
dwProcessType  processType 
)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 321 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ isVirtual()

dwStatus dw::framework::ExceptionSafeSensorNode::isVirtual ( bool *  isVirtualBool)
inlineoverridevirtual

◆ reportCurrentErrorSignal()

dwStatus dw::framework::ExceptionSafeSensorNode::reportCurrentErrorSignal ( dwGraphErrorSignal signal)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 379 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ reportCurrentHealthSignal()

dwStatus dw::framework::ExceptionSafeSensorNode::reportCurrentHealthSignal ( dwGraphHealthSignal signal)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 386 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ reset()

dwStatus dw::framework::ExceptionSafeSensorNode::reset ( )
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 210 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ resetPorts()

void dw::framework::ExceptionSafeSensorNode::resetPorts ( )
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 407 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guard(), and m_impl.

◆ run()

dwStatus dw::framework::ExceptionSafeSensorNode::run ( )
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 287 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ runPass()

dwStatus dw::framework::ExceptionSafeSensorNode::runPass ( size_t  passIndex)
inlineoverridevirtual

◆ runPassByID()

dwStatus dw::framework::ExceptionSafeSensorNode::runPassByID ( uint8_t  passID)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 299 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setAffinityMask()

dwStatus dw::framework::ExceptionSafeSensorNode::setAffinityMask ( uint  mask)
inlineoverridevirtual

◆ setDataEventReadCallback()

dwStatus dw::framework::ExceptionSafeSensorNode::setDataEventReadCallback ( DataEventReadCallback  cb)
inlineoverridevirtual

◆ setDataEventWriteCallback()

dwStatus dw::framework::ExceptionSafeSensorNode::setDataEventWriteCallback ( DataEventWriteCallback  cb)
inlineoverridevirtual

◆ setEndTime()

dwStatus dw::framework::ExceptionSafeSensorNode::setEndTime ( dwTime_t  endTime)
inlineoverridevirtual

◆ setInputChannel() [1/2]

dwStatus dw::framework::ExceptionSafeSensorNode::setInputChannel ( ChannelObject channel,
uint8_t  portID 
)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 217 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setInputChannel() [2/2]

dwStatus dw::framework::ExceptionSafeSensorNode::setInputChannel ( ChannelObject channel,
uint8_t  portID,
dwSerializationType  dataType 
)
inlineoverridevirtual

◆ setIterationCount()

dwStatus dw::framework::ExceptionSafeSensorNode::setIterationCount ( uint32_t  iterationCount)
inlinefinaloverridevirtual

Implements dw::framework::Node.

Definition at line 393 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setName()

dwStatus dw::framework::ExceptionSafeSensorNode::setName ( const char *  name)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 330 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setOutputChannel()

dwStatus dw::framework::ExceptionSafeSensorNode::setOutputChannel ( ChannelObject channel,
uint8_t  portID 
)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 231 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setStartTime()

dwStatus dw::framework::ExceptionSafeSensorNode::setStartTime ( dwTime_t  startTime)
inlineoverridevirtual

◆ setState()

dwStatus dw::framework::ExceptionSafeSensorNode::setState ( const char *  state)
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 400 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

◆ setThreadPriority()

dwStatus dw::framework::ExceptionSafeSensorNode::setThreadPriority ( int  prio)
inlineoverridevirtual

◆ start()

dwStatus dw::framework::ExceptionSafeSensorNode::start ( )
inlineoverridevirtual

◆ stop()

dwStatus dw::framework::ExceptionSafeSensorNode::stop ( )
inlineoverridevirtual

◆ validate()

dwStatus dw::framework::ExceptionSafeSensorNode::validate ( )
inlineoverridevirtual

Implements dw::framework::Node.

Definition at line 238 of file ExceptionSafeNode.hpp.

References dw::framework::Exception::guardWithReturn(), and m_impl.

Member Data Documentation

◆ m_impl

◆ m_sensorNodeImpl

ISensorNode* dw::framework::ExceptionSafeSensorNode::m_sensorNodeImpl
protected

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