NVIDIA DRIVE OS Linux SDK API Reference

5.1.15.2 Release
For Test and Development only
NvSIPLQuery.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019, 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 std::uint32_t MAJOR_VER = 1u;
55  static constexpr std::uint32_t MINOR_VER = 0u;
56  static constexpr std::uint32_t PATCH_VER = 0u;
64  struct Version
65  {
66  std::uint32_t uMajor = MAJOR_VER;
67  std::uint32_t uMinor = MINOR_VER;
68  std::uint32_t uPatch = PATCH_VER;
69  };
70 
76  static void GetVersion(Version& version);
77 
87  static std::unique_ptr <INvSIPLQuery> GetInstance(void);
88 
94  virtual SIPLStatus ParseDatabase(void) = 0;
95 
106  virtual SIPLStatus ParseJsonFile(std::string fileName) = 0;
107 
113  const virtual DeviceInfoList* GetDeviceInfoList() const = 0;
114 
120  virtual std::vector <const PlatformCfg*> GetPlatformCfgList() const = 0;
121 
126  virtual SIPLStatus GetPlatformCfg(std::string name,
127  PlatformCfg& oConfig) const = 0;
128 
136  {
137  LINK_0 = 0x0001,
138  LINK_1 = 0x0010,
139  LINK_2 = 0x0100,
140  LINK_3 = 0x1000
141  };
142 
154  virtual SIPLStatus ApplyMask(PlatformCfg& platCfg,
155  const std::vector <std::uint32_t>& vMasks) const = 0;
156 
158  virtual ~INvSIPLQuery() = default;
159 
160 }; //INvSIPLQuery
161 
164 }// namespace nvsipl
165 
166 
167 
168 #endif //NVSIPLQUERY_HPP
nvsipl::INvSIPLQuery::GetPlatformCfg
virtual SIPLStatus GetPlatformCfg(std::string name, PlatformCfg &oConfig) const =0
Returns a PlatformCfg object by name.
nvsipl::INvSIPLQuery::MINOR_VER
static constexpr std::uint32_t MINOR_VER
Indicates a minor revision.
Definition: NvSIPLQuery.hpp:55
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 (libnvsipl_quer...
nvsipl::INvSIPLQuery::Version
Defines the version information for NvSIPLQuery_API.
Definition: NvSIPLQuery.hpp:64
NvSIPLCommon.hpp
NvSIPLPlatformCfg.hpp
nvsipl::INvSIPLQuery::Version::uPatch
std::uint32_t uPatch
Holds a patch revision.
Definition: NvSIPLQuery.hpp:68
nvsipl::INvSIPLQuery::EnableMask
EnableMask
Defines link enable masks for deserializers.
Definition: NvSIPLQuery.hpp:135
nvsipl::INvSIPLQuery::ApplyMask
virtual SIPLStatus ApplyMask(PlatformCfg &platCfg, const std::vector< std::uint32_t > &vMasks) const =0
Applies masks to the input platform configuration.
nvsipl::PlatformCfg
Defines the camera platform configuration.
Definition: NvSIPLPlatformCfg.hpp:52
nvsipl::INvSIPLQuery::LINK_1
@ LINK_1
2nd Link
Definition: NvSIPLQuery.hpp:138
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::INvSIPLQuery::Version::uMinor
std::uint32_t uMinor
Holds a minor revision.
Definition: NvSIPLQuery.hpp:67
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in Sensor Input Processing Library (SIPL) modules.
Definition: NvSIPLCommon.hpp:38
nvsipl::INvSIPLQuery::MAJOR_VER
static constexpr std::uint32_t MAJOR_VER
Indicates a major revision.
Definition: NvSIPLQuery.hpp:54
nvsipl::DeviceInfoList
Defines a list of all external image devices supported by NvSIPL Query (libnvsipl_query....
Definition: NvSIPLPlatformCfg.hpp:35
nvsipl::INvSIPLQuery::GetPlatformCfgList
virtual std::vector< const PlatformCfg * > GetPlatformCfgList() const =0
Returns a list of camera platform configurations supported by NvSIPL Query (libnvsipl_query....
nvsipl::INvSIPLQuery::LINK_2
@ LINK_2
3rd Link
Definition: NvSIPLQuery.hpp:139
nvsipl
Contains the classes and variables for implementation of Sensor Input Processing Library (SIPL).
Definition: NvSIPLDeviceBlock.hpp:32
nvsipl::INvSIPLQuery::PATCH_VER
static constexpr std::uint32_t PATCH_VER
Indicates a patch revision.
Definition: NvSIPLQuery.hpp:56
nvsipl::INvSIPLQuery::LINK_0
@ LINK_0
1st Link
Definition: NvSIPLQuery.hpp:137
nvsipl::INvSIPLQuery::LINK_3
@ LINK_3
4th Link
Definition: NvSIPLQuery.hpp:140
nvsipl::INvSIPLQuery::Version::uMajor
std::uint32_t uMajor
Holds a major revision.
Definition: NvSIPLQuery.hpp:66
nvsipl::INvSIPLQuery::~INvSIPLQuery
virtual ~INvSIPLQuery()=default
Default destructor.