NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
NvSIPLDeviceBlockTrace.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2018-2024 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 #ifndef NVSIPLDEVBLKTRACE_H
14 #define NVSIPLDEVBLKTRACE_H
15 
16 #include <cstdint>
17 
31 namespace nvsipl
32 {
33 
46 {
47 public:
48 
50  enum class TraceLevel : std::uint8_t
51  {
53  LevelNone = 0,
55  LevelError,
59  LevelInfo,
62  };
63 
64 #if !(NV_IS_SAFETY)
65 
76  using TraceFuncPtr = void(*)(const char*, int);
89  virtual void SetHook(TraceFuncPtr traceHook,
90  bool const bCallDefaultRenderer) = 0;
91 
105  virtual void SetLevel(TraceLevel const eLevel) = 0;
106 
116  virtual TraceLevel GetLevel() = 0;
117 
126  virtual void DisableLineInfo(void) = 0;
127 
142  virtual void Trace(TraceLevel eLevel,
143  const char* func,
144  const char* file,
145  int line,
146  const char *pformat,
147  ...) = 0;
148 #endif
149 
150 
151  virtual ~INvSIPLDeviceBlockTrace() = default;
152 
153 protected :
157  INvSIPLDeviceBlockTrace() = default;
158 
163 
168 
173 
178 };
179 
182 } // namespace nvsipl
183 
184 
185 #endif // NVSIPLDEVBLKTRACE_H
nvsipl::INvSIPLDeviceBlockTrace::INvSIPLDeviceBlockTrace
INvSIPLDeviceBlockTrace()=default
Default constructor.
nvsipl::INvSIPLDeviceBlockTrace::operator=
INvSIPLDeviceBlockTrace & operator=(INvSIPLDeviceBlockTrace const &) &=delete
Default INvSIPLDeviceBlockTrace copy assignment operator.
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel::LevelNone
@ LevelNone
Indicates logging is turned off.
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel::LevelInfo
@ LevelInfo
Indicates logging is turned on for information level messages.
nvsipl::INvSIPLDeviceBlockTrace::~INvSIPLDeviceBlockTrace
virtual ~INvSIPLDeviceBlockTrace()=default
(NV_IS_SAFETY)
nvsipl::INvSIPLDeviceBlockTrace::SetHook
virtual void SetHook(TraceFuncPtr traceHook, bool const bCallDefaultRenderer)=0
Sets a callable trace hook.
nvsipl::INvSIPLDeviceBlockTrace::GetLevel
virtual TraceLevel GetLevel()=0
Gets the log level.
nvsipl::INvSIPLDeviceBlockTrace::TraceFuncPtr
void(*)(const char *, int) TraceFuncPtr
Definition: NvSIPLDeviceBlockTrace.hpp:76
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel::LevelError
@ LevelError
Indicates logging is turned on for errors.
nvsipl::INvSIPLDeviceBlockTrace::Trace
virtual void Trace(TraceLevel eLevel, const char *func, const char *file, int line, const char *pformat,...)=0
Log a trace message.
nvsipl::INvSIPLDeviceBlockTrace::DisableLineInfo
virtual void DisableLineInfo(void)=0
Disable line info (FUNCTION : LINE: ) prefix.
void
typedef void(WFD_APIENTRY PFNWFDBINDSOURCETOPIPELINEWITHTIMESTAMPNV)(const WFDDevice device
nvsipl::INvSIPLDeviceBlockTrace::SetLevel
virtual void SetLevel(TraceLevel const eLevel)=0
Sets the log level.
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel
TraceLevel
Defines tracing/logging levels.
Definition: NvSIPLDeviceBlockTrace.hpp:50
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel::LevelWarning
@ LevelWarning
Indicates logging is turned on for critical warnings.
nvsipl::INvSIPLDeviceBlockTrace::TraceLevel::LevelDebug
@ LevelDebug
Indicates logging is turned on for every print statement.
nvsipl::INvSIPLDeviceBlockTrace
Describes the interfaces of NvSIPLDeviceBlockTrace.
Definition: NvSIPLDeviceBlockTrace.hpp:45
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: NvSIPLCamera.hpp:44
nvsipl::INvSIPLDeviceBlockTrace::GetInstance
static INvSIPLDeviceBlockTrace * GetInstance(void)
Gets a handle to INvSIPLDeviceBlockTrace instance.