NVIDIA DRIVE OS Linux API Reference Release
For Test and Development only

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvsipl::INvSIPLDeviceBlockTrace Class Referenceabstract

Detailed Description

Describes the interfaces of NvSIPLDeviceBlockTrace.

Defines the public interfaces to control the logging/tracing of the NvSIPL DeviceBlock (libnvsipl_devblk.so) for debug purposes.

Definition at line 34 of file NvSIPLDeviceBlockTrace.hpp.

Public Types

enum  TraceLevel {
  LevelNone = 0,
 Defines tracing/logging levels. More...
using TraceFuncPtr = void(*)(const char *, int)

Public Member Functions

virtual void SetHook (TraceFuncPtr traceHook, bool bCallDefaultRenderer)=0
 Sets a callable trace hook. More...
virtual void SetLevel (TraceLevel eLevel)=0
 Sets the log level. More...
virtual void DisableLineInfo (void)=0
 Disable line info (FUNCTION : LINE: ) prefix. More...
virtual ~INvSIPLDeviceBlockTrace ()=default
 Default destructor. More...

Static Public Member Functions

static INvSIPLDeviceBlockTraceGetInstance (void)
 Gets a handle to INvSIPLDeviceBlockTrace instance. More...

Member Typedef Documentation

using nvsipl::INvSIPLDeviceBlockTrace::TraceFuncPtr = void(*)(const char*, int)

Definition at line 48 of file NvSIPLDeviceBlockTrace.hpp.

Member Enumeration Documentation

Defines tracing/logging levels.


Indicates logging is turned off.


Indicates logging is turned on for errors.


Indicates logging is turned on for critical warnings.


Indicates logging is turned on for information level messages.


Indicates logging is turned on for every print statement.

Definition at line 39 of file NvSIPLDeviceBlockTrace.hpp.

Constructor & Destructor Documentation

virtual nvsipl::INvSIPLDeviceBlockTrace::~INvSIPLDeviceBlockTrace ( )

Default destructor.

Member Function Documentation

virtual void nvsipl::INvSIPLDeviceBlockTrace::DisableLineInfo ( void  )
pure virtual

Disable line info (FUNCTION : LINE: ) prefix.

Function to disable line information prefix. Each log/trace is prefixed with function name and the line number. Calling this function will disable the prefix.

static INvSIPLDeviceBlockTrace* nvsipl::INvSIPLDeviceBlockTrace::GetInstance ( void  )

Gets a handle to INvSIPLDeviceBlockTrace instance.

Static function to get a handle to singleton INvSIPLDeviceBlockTrace implementation object.

pointer to INvSIPLDeviceBlockTrace.
virtual void nvsipl::INvSIPLDeviceBlockTrace::SetHook ( TraceFuncPtr  traceHook,
bool  bCallDefaultRenderer 
pure virtual

Sets a callable trace hook.

Function to set a callable hook to receive the messages from the library.

[in]traceHookstd::function object, which could be a functor, function pointer, or a lambda. The function object must include const char* message and number of chars as arguments.
[in]bCallDefaultRendererBoolean flag indicating if the message should be printed to the default renderer (stderr).
virtual void nvsipl::INvSIPLDeviceBlockTrace::SetLevel ( TraceLevel  eLevel)
pure virtual

Sets the log level.

Function to set the level of logging. Each trace statement specifies a trace level for that statement, and all traces with a level greater than or equal to the current application trace level will be rendered at runtime. Traces with a level below the application trace level will be ignored. The application trace level can be changed at any time to render additional or fewer trace statements.

[in]eLevelTrace level TraceLevel.

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