NVIDIA DeepStream SDK API Reference
7.1 Release
databridge.hpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
* SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4
*
5
* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6
* property and proprietary rights in and to this material, related
7
* documentation and any modifications thereto. Any use, reproduction,
8
* disclosure or distribution of this material and related documentation
9
* without an express license agreement from NVIDIA CORPORATION or
10
* its affiliates is strictly prohibited.
11
*/
12
13
14
#ifndef DS3D_COMMON_HPP_DATA_BRIDGE_HPP
15
#define DS3D_COMMON_HPP_DATA_BRIDGE_HPP
16
17
#include <
ds3d/common/common.h
>
18
#include <
ds3d/common/func_utils.h
>
19
#include <
ds3d/common/hpp/dataprocess.hpp
>
20
21
namespace
ds3d
{
22
55
class
GuardDataBridge
:
public
GuardDataProcess
<abiDataBridge> {
56
using
_Base
=
GuardDataProcess<abiDataBridge>
;
57
58
public
:
59
template
<
typename
... Args>
60
GuardDataBridge
(Args&&... args) :
_Base
(std::forward<Args>(args)...)
61
{
62
}
63
~GuardDataBridge
() =
default
;
64
65
ErrCode
process
(
66
const
struct
VideoBridge2dInput
* inputData,
abiOnDataCB::CppFunc
outputDataCB,
67
abiOnBridgeDataCB::CppFunc
inputConsumedCB)
68
{
69
GuardCB<abiOnDataCB>
guardOutputCb;
70
GuardCB<abiOnBridgeDataCB>
guardConsumedCb;
71
guardOutputCb.
setFn
<
ErrCode
,
const
abiRefDataMap
*>(std::move(outputDataCB));
72
guardConsumedCb.
setFn
<
ErrCode
,
const
struct
VideoBridge2dInput
*>(std::move(inputConsumedCB));
73
74
DS_ASSERT
(
ptr
());
75
ErrCode
code =
76
ptr
()->
process_i
(inputData, guardOutputCb.
abiRef
(), guardConsumedCb.
abiRef
());
77
return
code;
78
}
79
};
80
81
}
// namespace ds3d
82
83
#endif // DS3D_COMMON_HPP_DATA_BRIDGE_HPP
ds3d::GuardDataBridge::process
ErrCode process(const struct VideoBridge2dInput *inputData, abiOnDataCB::CppFunc outputDataCB, abiOnBridgeDataCB::CppFunc inputConsumedCB)
Definition:
databridge.hpp:65
DS_ASSERT
#define DS_ASSERT(...)
Definition:
defines.h:31
ds3d::GuardDataBridge::GuardDataBridge
GuardDataBridge(Args &&... args)
Definition:
databridge.hpp:60
ds3d::GuardDataProcess
Definition:
dataprocess.hpp:29
ds3d::VideoBridge2dInput
Definition:
idatatype.h:152
dataprocess.hpp
ds3d::GuardRef< abiCB >::abiRef
abiCB * abiRef() const
Definition:
obj.hpp:269
ds3d::abiRefT< abiDataMap >
ds3d::GuardDataBridge::~GuardDataBridge
~GuardDataBridge()=default
ds3d::abiDataBridge::process_i
virtual ErrCode process_i(const struct VideoBridge2dInput *inputData, const abiOnDataCB *outputDataCb, const abiOnBridgeDataCB *dataConsumedCb)=0
ds3d::ErrCode
ErrCode
Definition:
common.h:43
ds3d::GuardDataBridge
GuardDataBridge is the safe access entry for abiDataBridge.
Definition:
databridge.hpp:55
ds3d::GuardCB::setFn
void setFn(F f)
Definition:
obj.hpp:297
common.h
ds3d::GuardDataT< abiDataBridge >::ptr
abiDataBridge * ptr() const
Definition:
obj.hpp:361
func_utils.h
ds3d
Definition:
lidar_3d_datatype.h:35
ds3d::abiCallBackT::CppFunc
std::function< void(Args...)> CppFunc
Definition:
abi_obj.h:72
ds3d::GuardCB
Definition:
obj.hpp:285
Advance Information | Subject to Change | Generated by NVIDIA | Mon Oct 14 2024 13:27:43 | PR-09318-R32