NVIDIA DRIVE OS Linux SDK API Reference

6.0.5 Release
NvSIPLQuery.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2022, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 #ifndef NVSIPLQUERY_HPP
11 #define NVSIPLQUERY_HPP
12 
13 #include "NvSIPLCommon.hpp"
14 #include "NvSIPLPlatformCfg.hpp"
15 
16 #include <string>
17 #include <cstdint>
18 #include <memory>
19 #include <vector>
20 
28 namespace nvsipl
29 {
30 
51 {
52 public:
53 
54  static constexpr uint32_t MAJOR_VER = 1u;
55  static constexpr uint32_t MINOR_VER = 0u;
56  static constexpr uint32_t PATCH_VER = 0u;
64  struct Version
65  {
66  uint32_t uMajor = MAJOR_VER;
67  uint32_t uMinor = MINOR_VER;
68  uint32_t uPatch = PATCH_VER;
69  };
70 
91  static void GetVersion(Version& version);
92 
117  static std::unique_ptr <INvSIPLQuery> GetInstance(void);
118 
140  virtual SIPLStatus ParseDatabase(void) = 0;
141 
167  virtual SIPLStatus ParseJsonFile(std::string fileName) = 0;
168 
189  const virtual DeviceInfoList* GetDeviceInfoList() const = 0;
190 
211  virtual std::vector <const PlatformCfg*> GetPlatformCfgList() const = 0;
212 
232  virtual SIPLStatus GetPlatformCfg(std::string name,
233  PlatformCfg& oConfig) const = 0;
234 
242  {
243  LINK_0 = 0x0001,
244  LINK_1 = 0x0010,
245  LINK_2 = 0x0100,
246  LINK_3 = 0x1000
247  };
248 
275  virtual SIPLStatus ApplyMask(PlatformCfg& platCfg,
276  const std::vector <uint32_t>& vMasks) const = 0;
277 
279  virtual ~INvSIPLQuery() = default;
280 
281 }; //INvSIPLQuery
282 
285 }// namespace nvsipl
286 
287 
288 
289 #endif //NVSIPLQUERY_HPP
nvsipl::INvSIPLQuery::GetPlatformCfg
virtual SIPLStatus GetPlatformCfg(std::string name, PlatformCfg &oConfig) const =0
Returns a PlatformCfg object by name.
nvsipl::INvSIPLQuery
Defines the public data structures and describes the interfaces for NvSIPLQuery.
Definition: NvSIPLQuery.hpp:50
nvsipl::INvSIPLQuery::GetInstance
static std::unique_ptr< INvSIPLQuery > GetInstance(void)
Gets a handle to an instance of INvSIPLQuery.
nvsipl::INvSIPLQuery::GetDeviceInfoList
const virtual DeviceInfoList * GetDeviceInfoList() const =0
Returns a pointer to the list of all external image devices supported by NvSIPL Query and SIPL Device...
nvsipl::INvSIPLQuery::Version
Defines the version information for NvSIPLQuery_API.
Definition: NvSIPLQuery.hpp:64
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
NvSIPLPlatformCfg.hpp
NVIDIA SIPL: Camera Platform Configuration
nvsipl::INvSIPLQuery::EnableMask
EnableMask
Defines link enable masks for deserializers.
Definition: NvSIPLQuery.hpp:241
nvsipl::INvSIPLQuery::Version::uMinor
uint32_t uMinor
Holds a minor revision.
Definition: NvSIPLQuery.hpp:67
nvsipl::INvSIPLQuery::Version::uPatch
uint32_t uPatch
Holds a patch revision.
Definition: NvSIPLQuery.hpp:68
nvsipl::INvSIPLQuery::MAJOR_VER
static constexpr uint32_t MAJOR_VER
Indicates a major revision.
Definition: NvSIPLQuery.hpp:54
nvsipl::INvSIPLQuery::MINOR_VER
static constexpr uint32_t MINOR_VER
Indicates a minor revision.
Definition: NvSIPLQuery.hpp:55
nvsipl::PlatformCfg
Defines the camera platform configuration.
Definition: NvSIPLPlatformCfg.hpp:52
nvsipl::INvSIPLQuery::LINK_1
@ LINK_1
2nd Link
Definition: NvSIPLQuery.hpp:244
nvsipl::INvSIPLQuery::GetVersion
static void GetVersion(Version &version)
Returns the library version.
nvsipl::INvSIPLQuery::ParseDatabase
virtual SIPLStatus ParseDatabase(void)=0
Parses the built-in JSON database and updates the internal state of the implementation class.
nvsipl::INvSIPLQuery::ParseJsonFile
virtual SIPLStatus ParseJsonFile(std::string fileName)=0
Parses the input JSON file containing a list of user-specified camera platform configuration.
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:115
nvsipl::INvSIPLQuery::ApplyMask
virtual SIPLStatus ApplyMask(PlatformCfg &platCfg, const std::vector< uint32_t > &vMasks) const =0
Applies masks to the input platform configuration.
nvsipl::DeviceInfoList
Defines a list of all external image devices supported by NvSIPL Query and SIPL Device Block drivers.
Definition: NvSIPLPlatformCfg.hpp:35
nvsipl::INvSIPLQuery::PATCH_VER
static constexpr uint32_t PATCH_VER
Indicates a patch revision.
Definition: NvSIPLQuery.hpp:56
nvsipl::INvSIPLQuery::GetPlatformCfgList
virtual std::vector< const PlatformCfg * > GetPlatformCfgList() const =0
Returns a list of camera platform configurations supported by NvSIPL Query and NvSIPL Camera.
nvsipl::INvSIPLQuery::LINK_2
@ LINK_2
3rd Link
Definition: NvSIPLQuery.hpp:245
nvsipl::INvSIPLQuery::Version::uMajor
uint32_t uMajor
Holds a major revision.
Definition: NvSIPLQuery.hpp:66
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: INvSiplControlAuto.hpp:33
nvsipl::INvSIPLQuery::LINK_0
@ LINK_0
1st Link
Definition: NvSIPLQuery.hpp:243
nvsipl::INvSIPLQuery::LINK_3
@ LINK_3
4th Link
Definition: NvSIPLQuery.hpp:246
nvsipl::INvSIPLQuery::~INvSIPLQuery
virtual ~INvSIPLQuery()=default
Default destructor.