NVIDIA DeepStream SDK API Reference

8.0 Release
ds3d::GuardDataBridge Class Reference

Detailed Description

GuardDataBridge is the safe access entry for abiDataBridge.

Applications can use it to make C-based APIs safer. it would manage abiRefDataBridge automatically. with that, App user do not need to refCopy_i or destroy abiRefDataBridge manually.

For example: abiRefDataBridge* rawRef = creator(); GuardDataBridge guardFilter(rawRef, true); // take the ownership of rawRef guardFilter.setUserData(userdata, [](void*){ ...free... }); guardFilter.setErrorCallback([](ErrCode c, const char* msg){ stderr << msg; }); ErrCode c = guardFilter.start(config, path); DS_ASSERT(isGood(c)); c = guardFilter.start(config, path); // invoke abiDataBridge::start_i(...) GuardDataMap inputData = ...; // prepare input data // invoke abiDataBridge::process_i(...) c = guardFilter.process(inputData, [](ErrCode c, const abiRefDataMap* d){ GuardDataMap outputData(<em>d); // output data processing std::cout << "output data processing starts" << std::endl; }, [](ErrCode c, const abiRefDataMap d){ GuardDataMap doneData(*d); std::cout << "input data consumed" << std::endl; }); DS_ASSERT(isGood(c)); //... wait for all data processed before stop c = guardFilter.flush(); c = guardFilter.stop(); // invoke abiDataBridge::stop_i(...) guardFilter.reset(); // destroy abiRefDataBridge, when all reference // destroyed, abiDataBridge would be freed.

Definition at line 55 of file sources/includes/ds3d/common/hpp/databridge.hpp.

Inheritance diagram for ds3d::GuardDataBridge:
Collaboration diagram for ds3d::GuardDataBridge:

Public Types

using abiRefType = abiRefT< abiDataBridge >
 
using abiRefType = abiRefT< abiDataBridge >
 

Public Member Functions

template<typename... Args>
 GuardDataBridge (Args &&... args)
 
 ~GuardDataBridge ()=default
 
ErrCode process (const struct VideoBridge2dInput *inputData, abiOnDataCB::CppFunc outputDataCB, abiOnBridgeDataCB::CppFunc inputConsumedCB)
 
template<typename... Args>
 GuardDataBridge (Args &&... args)
 
 ~GuardDataBridge ()=default
 
ErrCode process (const struct VideoBridge2dInput *inputData, abiOnDataCB::CppFunc outputDataCB, abiOnBridgeDataCB::CppFunc inputConsumedCB)
 
void setUserData (void *data, DelF delF)
 
void setUserData (void *data, DelF delF)
 
virtual void * getUserData () const
 
virtual void * getUserData () const
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
void setErrorCallback (abiErrorCB::CppFunc errCb)
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode start (const std::string &content, const std::string &path="")
 
ErrCode flush ()
 
ErrCode flush ()
 
ErrCode stop ()
 
ErrCode stop ()
 
State state () const
 
State state () const
 
std::string getCaps (CapsPort port)
 
std::string getCaps (CapsPort port)
 
std::string getOutputCaps ()
 
std::string getOutputCaps ()
 
std::string getInputCaps ()
 
std::string getInputCaps ()
 
GuardTy cast ()
 
GuardTy cast ()
 
abiDataBridgeptr () const
 
abiDataBridgeptr () const
 
abiDataBridgeoperator-> () const
 
abiDataBridgeoperator-> () const
 
 operator bool () const
 
 operator bool () const
 
 operator ShrdPtr< abiDataBridge > ()
 
 operator ShrdPtr< abiDataBridge > ()
 
abiRefT< abiDataBridge > * release ()
 
abiRefT< abiDataBridge > * release ()
 
void reset (abiRefT< abiDataBridge > *abiref=nullptr)
 
void reset (abiRefT< abiDataBridge > *abiref=nullptr)
 
abiRefT< abiDataBridge > * abiRef () const
 
abiRefT< abiDataBridge > * abiRef () const
 

Member Typedef Documentation

◆ abiRefType [1/2]

◆ abiRefType [2/2]

Constructor & Destructor Documentation

◆ GuardDataBridge() [1/2]

template<typename... Args>
ds3d::GuardDataBridge::GuardDataBridge ( Args &&...  args)
inline

◆ ~GuardDataBridge() [1/2]

ds3d::GuardDataBridge::~GuardDataBridge ( )
default

◆ GuardDataBridge() [2/2]

template<typename... Args>
ds3d::GuardDataBridge::GuardDataBridge ( Args &&...  args)
inline

◆ ~GuardDataBridge() [2/2]

ds3d::GuardDataBridge::~GuardDataBridge ( )
default

Member Function Documentation

◆ abiRef() [1/2]

abiRefT< abiDataBridge > * ds3d::GuardRef< abiRefT< abiDataBridge > , >::abiRef
inlineinherited

Definition at line 269 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ abiRef() [2/2]

abiRefT< abiDataBridge > * ds3d::GuardRef< abiRefT< abiDataBridge > , >::abiRef
inlineinherited

◆ cast() [1/2]

GuardTy ds3d::GuardDataT< abiDataBridge >::cast
inlineinherited

Definition at line 356 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ cast() [2/2]

GuardTy ds3d::GuardDataT< abiDataBridge >::cast
inlineinherited

◆ flush() [1/2]

ErrCode ds3d::GuardDataProcess< abiDataBridge , >::flush
inlineinherited

◆ flush() [2/2]

◆ getCaps() [1/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getCaps ( CapsPort  port)
inlineinherited

◆ getCaps() [2/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getCaps ( CapsPort  port)
inlineinherited

◆ getInputCaps() [1/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getInputCaps
inlineinherited

◆ getInputCaps() [2/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getInputCaps
inlineinherited

◆ getOutputCaps() [1/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getOutputCaps
inlineinherited

◆ getOutputCaps() [2/2]

std::string ds3d::GuardDataProcess< abiDataBridge , >::getOutputCaps
inlineinherited

◆ getUserData() [1/2]

virtual void* ds3d::GuardDataProcess< abiDataBridge , >::getUserData
inlinevirtualinherited

◆ getUserData() [2/2]

virtual void* ds3d::GuardDataProcess< abiDataBridge , >::getUserData
inlinevirtualinherited

◆ operator bool() [1/2]

ds3d::GuardDataT< abiDataBridge >::operator bool
inlineinherited

Definition at line 370 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ operator bool() [2/2]

ds3d::GuardDataT< abiDataBridge >::operator bool
inlineinherited

◆ operator ShrdPtr< abiDataBridge >() [1/2]

ds3d::GuardDataT< abiDataBridge >::operator ShrdPtr< abiDataBridge >
inlineinherited

◆ operator ShrdPtr< abiDataBridge >() [2/2]

ds3d::GuardDataT< abiDataBridge >::operator ShrdPtr< abiDataBridge >
inlineinherited

Definition at line 372 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ operator->() [1/2]

abiDataBridge * ds3d::GuardDataT< abiDataBridge >::operator->
inlineinherited

Definition at line 368 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ operator->() [2/2]

abiDataBridge * ds3d::GuardDataT< abiDataBridge >::operator->
inlineinherited

◆ process() [1/2]

◆ process() [2/2]

◆ ptr() [1/2]

abiDataBridge * ds3d::GuardDataT< abiDataBridge >::ptr
inlineinherited

Definition at line 361 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ ptr() [2/2]

abiDataBridge * ds3d::GuardDataT< abiDataBridge >::ptr
inlineinherited

◆ release() [1/2]

abiRefT< abiDataBridge > * ds3d::GuardRef< abiRefT< abiDataBridge > , >::release
inlineinherited

Definition at line 253 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ release() [2/2]

abiRefT< abiDataBridge > * ds3d::GuardRef< abiRefT< abiDataBridge > , >::release
inlineinherited

◆ reset() [1/2]

void ds3d::GuardRef< abiRefT< abiDataBridge > , >::reset ( abiRefT< abiDataBridge > *  abiref = nullptr)
inlineinherited

◆ reset() [2/2]

void ds3d::GuardRef< abiRefT< abiDataBridge > , >::reset ( abiRefT< abiDataBridge > *  abiref = nullptr)
inlineinherited

Definition at line 260 of file sources/includes/ds3d/common/hpp/obj.hpp.

◆ setErrorCallback() [1/2]

void ds3d::GuardDataProcess< abiDataBridge , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

◆ setErrorCallback() [2/2]

void ds3d::GuardDataProcess< abiDataBridge , >::setErrorCallback ( abiErrorCB::CppFunc  errCb)
inlineinherited

◆ setUserData() [1/2]

void ds3d::GuardDataProcess< abiDataBridge , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

◆ setUserData() [2/2]

void ds3d::GuardDataProcess< abiDataBridge , >::setUserData ( void *  data,
DelF  delF 
)
inlineinherited

◆ start() [1/2]

ErrCode ds3d::GuardDataProcess< abiDataBridge , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

◆ start() [2/2]

ErrCode ds3d::GuardDataProcess< abiDataBridge , >::start ( const std::string &  content,
const std::string &  path = "" 
)
inlineinherited

◆ state() [1/2]

◆ state() [2/2]

State ds3d::GuardDataProcess< abiDataBridge , >::state
inlineinherited

◆ stop() [1/2]

◆ stop() [2/2]


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