Compute Graph Framework SDK Reference
5.4.5418 Release
For Test and Development only

dw::framework::SimpleProcessNodeT< T > Class Template Reference

Detailed Description

template<typename T>
class dw::framework::SimpleProcessNodeT< T >

Definition at line 196 of file SimpleNodeT.hpp.

Inheritance diagram for dw::framework::SimpleProcessNodeT< T >:
dw::framework::SimpleProcessNode dw::framework::SimpleNodeT< T > dw::framework::ProcessNode dw::framework::Node

Public Types

using Name_t = FixedString< MAX_NAME_LEN >
 
using NodeT = T
 

Public Member Functions

std::unique_ptr< PasscreateSetupPass () override
 
std::unique_ptr< PasscreateTeardownPass () override
 
dwStatus getHealthSignals (dwGraphHealthSignalArray *&healthSignals) override
 
template<typename NodeT , size_t PortIndex>
auto & getInputPort ()
 
template<typename NodeT , size_t PortIndex>
auto & getInputPort (size_t arrayIndex)
 
uint32_t getIterationCount () const
 
dwStatus getName (const char **name) override
 
template<typename NodeT , size_t PortIndex>
auto & getOutputPort ()
 
template<typename NodeT , size_t PortIndex>
auto & getOutputPort (size_t arrayIndex)
 
size_t getPassCount () const noexcept override
 
dwStatus getPasses (VectorFixed< Pass *> &passList) override
 
dwStatus getPasses (VectorFixed< Pass *> &passList, dwProcessorType processorType, dwProcessType processType) override
 
const dw::core::HeapHashMap< size_t, std::shared_ptr< PortBase > > & getRegisteredInputPorts () const
 
const dw::core::HeapHashMap< size_t, std::shared_ptr< PortBase > > & getRegisteredOutputPorts () const
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initInputArrayPort (Args &&... args)
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initInputPort (Args &&... args)
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initOutputArrayPort (Args &&... args)
 
template<typename NodeT , size_t PortIndex, typename... Args>
void initOutputPort (Args &&... args)
 
template<typename TPort , typename... Args>
auto make_port (Args &&... args)
 
dwStatus reset () override
 The default implementation calls SimpleNode::resetPorts. More...
 
dwStatus run () override
 
dwStatus runPass (size_t passIndex) override
 
dwStatus runPassByID (uint8_t passID) override
 
dwStatus setInputChannel (ChannelObject *channel, uint8_t portID) override
 
dwStatus setInputChannel (ChannelObject *channel, uint8_t portID, dwSerializationType serialType) override
 
dwStatus setIterationCount (uint32_t iterationCount) override
 
dwStatus setName (const char *name) override
 
dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID) override
 
virtual dwStatus setupImpl ()
 The default implementation calls SimpleNode::setup. More...
 
 SimpleProcessNodeT ()
 Default constructor registering the setup and teardown passes. More...
 
virtual dwStatus teardownImpl ()
 The default implementation calls SimpleNode::teardown. More...
 
dwStatus validate () override
 Validate that all registered ports which have the flag binding-required are bound to a channel. More...
 
dwStatus validate (const char *direction, const PortCollectionDescriptor &collection, const dw::core::HeapHashMap< size_t, std::shared_ptr< PortBase >> &ports, size_t indexOffset=0)
 

Static Public Attributes

static constexpr char LOG_TAG [] = "SimpleProcessNode"
 
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()
 

Protected Member Functions

dwStatus addHealthSignal (const dwGraphHealthSignal &signal)
 
void addPass (Pass *pass)
 
dwStatus clearHealthSignals ()
 
template<typename PassFunctionT , typename... Args>
std::unique_ptr< PassImpl< PassFunctionT > > make_pass (PassFunctionT func, Args &&... args)
 
template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void registerPass (PassFunctionT func, NvMediaDla *dlaEngine=nullptr)
 
void resetPorts ()
 
template<typename ModuleHandle_t >
dwStatus setModuleHandle (ModuleHandle_t handle, dwContextHandle_t context)
 
dwStatus setObjectHandle (dwModuleHandle_t handle)
 
dwStatus setup ()
 
dwStatus teardown ()
 

Protected Attributes

std::atomic< bool > m_asyncResetFlag
 

Member Typedef Documentation

◆ Name_t

using dw::framework::Node::Name_t = FixedString<MAX_NAME_LEN>
inherited

Definition at line 67 of file Node.hpp.

◆ NodeT

template<typename T >
using dw::framework::SimpleProcessNodeT< T >::NodeT = T

Definition at line 199 of file SimpleNodeT.hpp.

Constructor & Destructor Documentation

◆ SimpleProcessNodeT()

template<typename T >
dw::framework::SimpleProcessNodeT< T >::SimpleProcessNodeT ( )
inline

Default constructor registering the setup and teardown passes.

Definition at line 202 of file SimpleNodeT.hpp.

References NODE_REGISTER_PASS.

Member Function Documentation

◆ addHealthSignal()

dwStatus dw::framework::SimpleProcessNode::addHealthSignal ( const dwGraphHealthSignal signal)
protectedinherited

◆ addPass()

void dw::framework::SimpleProcessNode::addPass ( Pass pass)
protectedinherited

◆ clearHealthSignals()

dwStatus dw::framework::SimpleProcessNode::clearHealthSignals ( )
protectedinherited

◆ createSetupPass()

template<typename T >
std::unique_ptr<Pass> dw::framework::SimpleProcessNodeT< T >::createSetupPass ( )
inlineoverridevirtual
Deprecated:
When using SimpleProcessNodeT as the base class for a concrete node this methods shouldn't be invoked since the base class provides a default implementation for the setup pass in SimpleProcessNodeT::setupImpl.

Reimplemented from dw::framework::SimpleProcessNode.

Definition at line 215 of file SimpleNodeT.hpp.

◆ createTeardownPass()

template<typename T >
std::unique_ptr<Pass> dw::framework::SimpleProcessNodeT< T >::createTeardownPass ( )
inlineoverridevirtual
Deprecated:
When using SimpleProcessNodeT as the base class for a concrete node this methods shouldn't be invoked since the base class provides a default implementation for the setup pass in SimpleProcessNodeT::teardownImpl.

Reimplemented from dw::framework::SimpleProcessNode.

Definition at line 222 of file SimpleNodeT.hpp.

◆ getHealthSignals()

dwStatus dw::framework::SimpleProcessNode::getHealthSignals ( dwGraphHealthSignalArray *&  healthSignals)
overridevirtualinherited

Implements dw::framework::Node.

◆ getInputPort() [1/2]

template<typename NodeT , size_t PortIndex>
auto& dw::framework::SimpleProcessNode::getInputPort ( )
inlineinherited

Definition at line 900 of file SimpleNode.hpp.

◆ getInputPort() [2/2]

template<typename NodeT , size_t PortIndex>
auto& dw::framework::SimpleProcessNode::getInputPort ( size_t  arrayIndex)
inlineinherited

Definition at line 906 of file SimpleNode.hpp.

◆ getIterationCount()

uint32_t dw::framework::SimpleProcessNode::getIterationCount ( ) const
inlineinherited

Definition at line 938 of file SimpleNode.hpp.

◆ getName()

dwStatus dw::framework::SimpleProcessNode::getName ( const char **  name)
overridevirtualinherited

Implements dw::framework::Node.

◆ getOutputPort() [1/2]

template<typename NodeT , size_t PortIndex>
auto& dw::framework::SimpleProcessNode::getOutputPort ( )
inlineinherited

Definition at line 912 of file SimpleNode.hpp.

◆ getOutputPort() [2/2]

template<typename NodeT , size_t PortIndex>
auto& dw::framework::SimpleProcessNode::getOutputPort ( size_t  arrayIndex)
inlineinherited

Definition at line 918 of file SimpleNode.hpp.

◆ getPassCount()

size_t dw::framework::SimpleProcessNode::getPassCount ( ) const
overridevirtualnoexceptinherited

Implements dw::framework::Node.

◆ getPasses() [1/2]

dwStatus dw::framework::SimpleProcessNode::getPasses ( VectorFixed< Pass *> &  passList)
overridevirtualinherited

Implements dw::framework::Node.

◆ getPasses() [2/2]

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

Implements dw::framework::Node.

◆ getRegisteredInputPorts()

const dw::core::HeapHashMap<size_t, std::shared_ptr<PortBase> >& dw::framework::SimpleProcessNode::getRegisteredInputPorts ( ) const
inlineinherited

Definition at line 923 of file SimpleNode.hpp.

◆ getRegisteredOutputPorts()

const dw::core::HeapHashMap<size_t, std::shared_ptr<PortBase> >& dw::framework::SimpleProcessNode::getRegisteredOutputPorts ( ) const
inlineinherited

Definition at line 928 of file SimpleNode.hpp.

◆ initInputArrayPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleProcessNode::initInputArrayPort ( Args &&...  args)
inlineinherited

Definition at line 882 of file SimpleNode.hpp.

◆ initInputPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleProcessNode::initInputPort ( Args &&...  args)
inlineinherited

Definition at line 876 of file SimpleNode.hpp.

◆ initOutputArrayPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleProcessNode::initOutputArrayPort ( Args &&...  args)
inlineinherited

Definition at line 894 of file SimpleNode.hpp.

◆ initOutputPort()

template<typename NodeT , size_t PortIndex, typename... Args>
void dw::framework::SimpleProcessNode::initOutputPort ( Args &&...  args)
inlineinherited

Definition at line 888 of file SimpleNode.hpp.

◆ make_pass()

template<typename PassFunctionT , typename... Args>
std::unique_ptr<PassImpl<PassFunctionT> > dw::framework::SimpleProcessNode::make_pass ( PassFunctionT  func,
Args &&...  args 
)
inlineprotectedinherited

Definition at line 845 of file SimpleNode.hpp.

◆ make_port()

template<typename TPort , typename... Args>
auto dw::framework::SimpleProcessNode::make_port ( Args &&...  args)
inlineinherited

Definition at line 870 of file SimpleNode.hpp.

◆ registerPass()

template<typename NodeT , size_t PassIndex, typename PassFunctionT >
void dw::framework::SimpleProcessNode::registerPass ( PassFunctionT  func,
NvMediaDla *  dlaEngine = nullptr 
)
inlineprotectedinherited

Definition at line 852 of file SimpleNode.hpp.

◆ reset()

template<typename T >
dwStatus dw::framework::SimpleProcessNodeT< T >::reset ( )
inlineoverridevirtual

The default implementation calls SimpleNode::resetPorts.

Reimplemented from dw::framework::SimpleProcessNode.

Definition at line 240 of file SimpleNodeT.hpp.

◆ resetPorts()

void dw::framework::SimpleProcessNode::resetPorts ( )
inlineprotectedinherited

Definition at line 831 of file SimpleNode.hpp.

◆ run()

dwStatus dw::framework::SimpleProcessNode::run ( )
overridevirtualinherited

Implements dw::framework::Node.

◆ runPass()

dwStatus dw::framework::SimpleProcessNode::runPass ( size_t  passIndex)
overridevirtualinherited

Implements dw::framework::Node.

◆ runPassByID()

dwStatus dw::framework::SimpleProcessNode::runPassByID ( uint8_t  passID)
overridevirtualinherited

Implements dw::framework::Node.

◆ setInputChannel() [1/2]

dwStatus dw::framework::SimpleProcessNode::setInputChannel ( ChannelObject channel,
uint8_t  portID 
)
overridevirtualinherited

Implements dw::framework::Node.

◆ setInputChannel() [2/2]

dwStatus dw::framework::SimpleProcessNode::setInputChannel ( ChannelObject channel,
uint8_t  portID,
dwSerializationType  serialType 
)
overridevirtualinherited

Implements dw::framework::Node.

◆ setIterationCount()

dwStatus dw::framework::SimpleProcessNode::setIterationCount ( uint32_t  iterationCount)
inlineoverridevirtualinherited

Implements dw::framework::Node.

Definition at line 933 of file SimpleNode.hpp.

◆ setModuleHandle()

template<typename ModuleHandle_t >
dwStatus dw::framework::SimpleProcessNode::setModuleHandle ( ModuleHandle_t  handle,
dwContextHandle_t  context 
)
inlineprotectedinherited

Definition at line 837 of file SimpleNode.hpp.

◆ setName()

dwStatus dw::framework::SimpleProcessNode::setName ( const char *  name)
overridevirtualinherited

Implements dw::framework::Node.

◆ setObjectHandle()

dwStatus dw::framework::SimpleProcessNode::setObjectHandle ( dwModuleHandle_t  handle)
protectedinherited

◆ setOutputChannel()

dwStatus dw::framework::SimpleProcessNode::setOutputChannel ( ChannelObject channel,
uint8_t  portID 
)
overridevirtualinherited

Implements dw::framework::Node.

◆ setup()

dwStatus dw::framework::SimpleProcessNode::setup ( )
inlineprotectedinherited

Definition at line 821 of file SimpleNode.hpp.

◆ setupImpl()

template<typename T >
virtual dwStatus dw::framework::SimpleProcessNodeT< T >::setupImpl ( )
inlinevirtual

The default implementation calls SimpleNode::setup.

Definition at line 228 of file SimpleNodeT.hpp.

◆ teardown()

dwStatus dw::framework::SimpleProcessNode::teardown ( )
inlineprotectedinherited

Definition at line 826 of file SimpleNode.hpp.

◆ teardownImpl()

template<typename T >
virtual dwStatus dw::framework::SimpleProcessNodeT< T >::teardownImpl ( )
inlinevirtual

The default implementation calls SimpleNode::teardown.

Definition at line 234 of file SimpleNodeT.hpp.

◆ validate() [1/2]

template<typename T >
dwStatus dw::framework::SimpleProcessNodeT< T >::validate ( )
inlineoverridevirtual

Validate that all registered ports which have the flag binding-required are bound to a channel.

Reimplemented from dw::framework::SimpleProcessNode.

Definition at line 247 of file SimpleNodeT.hpp.

References dw::framework::PortCollectionDescriptor::getPortSize(), and dw::framework::SimpleProcessNode::validate().

◆ validate() [2/2]

dwStatus dw::framework::SimpleProcessNode::validate ( const char *  direction,
const PortCollectionDescriptor collection,
const dw::core::HeapHashMap< size_t, std::shared_ptr< PortBase >> &  ports,
size_t  indexOffset = 0 
)
inlineinherited

Definition at line 805 of file SimpleNode.hpp.

Field Documentation

◆ LOG_TAG

constexpr char dw::framework::SimpleProcessNode::LOG_TAG[] = "SimpleProcessNode"
staticinherited

Definition at line 771 of file SimpleNode.hpp.

◆ m_asyncResetFlag

std::atomic<bool> dw::framework::SimpleProcessNode::m_asyncResetFlag
protectedinherited

Definition at line 863 of file SimpleNode.hpp.

◆ MAX_NAME_LEN

constexpr size_t dw::framework::Node::MAX_NAME_LEN = 128
staticinherited

Definition at line 66 of file Node.hpp.

◆ MAX_PASS_COUNT

constexpr uint32_t dw::framework::Node::MAX_PASS_COUNT = 256
staticinherited

Definition at line 71 of file Node.hpp.

◆ MAX_PORT_COUNT

constexpr uint32_t dw::framework::Node::MAX_PORT_COUNT = 256
staticinherited

Definition at line 69 of file Node.hpp.

◆ PASS_SETUP

constexpr uint8_t dw::framework::Node::PASS_SETUP = std::numeric_limits<uint8_t>::max() - 1
staticinherited

Definition at line 72 of file Node.hpp.

◆ PASS_TEARDOWN

constexpr uint8_t dw::framework::Node::PASS_TEARDOWN = std::numeric_limits<uint8_t>::max()
staticinherited

Definition at line 73 of file Node.hpp.


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