OceanDirectLighthouse  3.1.1
OceanDirect Lighthouse C++/C API
LHDeviceInformationAPI.h
1 #ifndef LH_DEVICE_INFORMATION_API_H
2 #define LH_DEVICE_INFORMATION_API_H
3 /*****************************************************
4  * @file LHDeviceInformationAPI.h
5  * @date November 2023
6  * @author Ocean Insight, Inc.
7  *
8  * This is an interface to OceanDirect that allows the user to read and write
9  * device information such as VID, PID, model, manufacturer info, etc.
10  * This is intended as a usable and extensible API.
11  */
12  /************************************************************************
13  *
14  * OCEAN INSIGHT CONFIDENTIAL
15  * __________________
16  *
17  * [2018] - [2023] Ocean Insight Incorporated
18  * All Rights Reserved.
19  *
20  * NOTICE: All information contained herein is, and remains
21  * the property of Ocean Insight Incorporated and its suppliers,
22  * if any. The intellectual and technical concepts contained
23  * herein are proprietary to Ocean Insight Incorporated
24  * and its suppliers and may be covered by U.S. and Foreign Patents,
25  * patents in process, and are protected by trade secret or copyright law.
26  * Dissemination of this information or reproduction of this material
27  * is strictly forbidden unless prior written permission is obtained
28  * from Ocean Insight Incorporated.
29  *
30  **************************************************************************/
31 
32 
33 #include "lighthouse/api/LighthouseDllDecl.h"
34 #include "lighthouse/api/lhdefs.h"
38 namespace oceandirect {
39  namespace api {
40  class LIGHTHOUSE_DLL_DECL LHDeviceInformationAPI {
41  public:
42  virtual ~LHDeviceInformationAPI() = default;
43 
49  virtual void resetDevice(lh_device_id_t deviceID, lh_error_code_t* errorCode);
50 
60  virtual size_t getRevisionFirmware(lh_device_id_t deviceID, lh_error_code_t* errorCode, uint8_t buffer[], size_t bufferLength);
61 
70  virtual size_t getRevisionFPGA(lh_device_id_t deviceID, lh_error_code_t* errorCode, uint8_t buffer[], size_t bufferLength);
71 
80  virtual size_t getRevisionSystem(lh_device_id_t deviceID, lh_error_code_t* errorCode, uint8_t buffer[], size_t bufferLength);
81 
82 
91  virtual size_t getSerialNumber(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
92 
99  virtual size_t getSerialNumberMaximumLength(lh_device_id_t deviceID, lh_error_code_t* errorCode);
100 
109  virtual size_t getDeviceAlias(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
110 
117  virtual lh_usb_identifier_t getOriginalUsbVID(lh_device_id_t deviceID, lh_error_code_t* errorCode);
118 
125  virtual lh_usb_identifier_t getOriginalUsbPID(lh_device_id_t deviceID, lh_error_code_t* errorCode);
126 
133  virtual lh_usb_identifier_t getUsbVID(lh_device_id_t deviceID, lh_error_code_t* errorCode);
134 
141  virtual lh_usb_identifier_t getUsbPID(lh_device_id_t deviceID, lh_error_code_t* errorCode);
142 
152  virtual size_t getOriginalManufacturer(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
153 
162  virtual size_t getOriginalModel(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
163 
173  virtual size_t getManufacturer(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
174 
183  virtual size_t getModel(lh_device_id_t deviceID, lh_error_code_t* errorCode, char buffer[], size_t bufferLength);
184  };
185  }
186 }
187 #endif /* LH_DEVICE_INFORMATION_API_H */
Definition: LHDeviceInformationAPI.h:40
virtual size_t getDeviceAlias(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual lh_usb_identifier_t getOriginalUsbVID(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getManufacturer(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual size_t getOriginalManufacturer(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual lh_usb_identifier_t getUsbPID(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getRevisionSystem(lh_device_id_t deviceID, lh_error_code_t *errorCode, uint8_t buffer[], size_t bufferLength)
virtual void resetDevice(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getOriginalModel(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual size_t getRevisionFirmware(lh_device_id_t deviceID, lh_error_code_t *errorCode, uint8_t buffer[], size_t bufferLength)
virtual size_t getRevisionFPGA(lh_device_id_t deviceID, lh_error_code_t *errorCode, uint8_t buffer[], size_t bufferLength)
virtual size_t getModel(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual lh_usb_identifier_t getUsbVID(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getSerialNumber(lh_device_id_t deviceID, lh_error_code_t *errorCode, char buffer[], size_t bufferLength)
virtual size_t getSerialNumberMaximumLength(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_usb_identifier_t getOriginalUsbPID(lh_device_id_t deviceID, lh_error_code_t *errorCode)
This is the API for controlling the autonulling functionality of a device.
Definition: LighthouseAPI.h:54