NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvsipl::IInterfaceProvider Class Referenceabstract

Detailed Description

Class providing access to device interfaces.

Definition at line 173 of file INvSIPLDeviceInterfaceProvider.hpp.

Public Member Functions

virtual InterfaceGetInterface (const UUID &interfaceId)=0
 Get interface provided by this driver matching a provided ID. More...
 

Protected Member Functions

 IInterfaceProvider ()=default
 Default Constructor. More...
 
 IInterfaceProvider (IInterfaceProvider &)=delete
 Delete copy constructor. More...
 
 IInterfaceProvider (IInterfaceProvider &&)=delete
 Delete move constructor. More...
 
IInterfaceProvideroperator= (IInterfaceProvider &) &=delete
 Delete copy assignment operator. More...
 
IInterfaceProvideroperator= (IInterfaceProvider &&) &=delete
 Delete move assignment operator. More...
 
virtual ~IInterfaceProvider ()=default
 Default destructor. More...
 

Constructor & Destructor Documentation

◆ IInterfaceProvider() [1/3]

nvsipl::IInterfaceProvider::IInterfaceProvider ( )
protecteddefault

Default Constructor.

◆ IInterfaceProvider() [2/3]

nvsipl::IInterfaceProvider::IInterfaceProvider ( IInterfaceProvider )
protecteddelete

Delete copy constructor.

◆ IInterfaceProvider() [3/3]

nvsipl::IInterfaceProvider::IInterfaceProvider ( IInterfaceProvider &&  )
protecteddelete

Delete move constructor.

◆ ~IInterfaceProvider()

virtual nvsipl::IInterfaceProvider::~IInterfaceProvider ( )
protectedvirtualdefault

Default destructor.

Member Function Documentation

◆ GetInterface()

virtual Interface* nvsipl::IInterfaceProvider::GetInterface ( const UUID interfaceId)
pure virtual

Get interface provided by this driver matching a provided ID.

This API is used to get access to device specific custom interfaces (if any) defined by this Deserializer and for Camera Module, which can be invoked directly by Device Block clients.

The interface should be valid through the lifetime of the device object.

Precondition
None.
Parameters
[in]interfaceIdUnique identifier (of type UUID) for the interface to retrieve.
Return values
Interface*matching the provided ID;
nullptrif no matching Interface found or not implemented.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: Yes
    • Runtime: No
    • De-Init: No

◆ operator=() [1/2]

IInterfaceProvider& nvsipl::IInterfaceProvider::operator= ( IInterfaceProvider &&  ) &
protecteddelete

Delete move assignment operator.

◆ operator=() [2/2]

IInterfaceProvider& nvsipl::IInterfaceProvider::operator= ( IInterfaceProvider ) &
protecteddelete

Delete copy assignment operator.


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