OceanDirect  2.4.0
OceanDirect C++/C API
DeviceInformationAPI.h
1 /*****************************************************
2  * @file DeviceInformationAPI.h
3  * @date April 2021
4  * @author Ocean Insight, Inc.
5  *
6  * This is an interface to OceanDirect that allows the user to read and write
7  * device information such as VID, PID, model, manufacturer info, etc.
8  * This is intended as a usable and extensible API.
9  */
10  /************************************************************************
11  *
12  * OCEAN INSIGHT CONFIDENTIAL
13  * __________________
14  *
15  * [2018] - [2021] Ocean Insight Incorporated
16  * All Rights Reserved.
17  *
18  * NOTICE: All information contained herein is, and remains
19  * the property of Ocean Insight Incorporated and its suppliers,
20  * if any. The intellectual and technical concepts contained
21  * herein are proprietary to Ocean Insight Incorporated
22  * and its suppliers and may be covered by U.S. and Foreign Patents,
23  * patents in process, and are protected by trade secret or copyright law.
24  * Dissemination of this information or reproduction of this material
25  * is strictly forbidden unless prior written permission is obtained
26  * from Ocean Insight Incorporated.
27  *
28  **************************************************************************/
29 
30 #ifndef DEVICE_INFORMATION_API_H
31 #define DEVICE_INFORMATION_API_H
32 
33 #include "api/DllDecl.h"
34 #include <cstdint>
35 
42 namespace oceandirect {
43  namespace api {
44 
45  class DLL_DECL DeviceInformationAPI {
46  public:
48  virtual ~DeviceInformationAPI();
49  static DeviceInformationAPI *getInstance();
50 
51  static void shutdown();
52 
53  void resetDevice(long deviceID, int *errorCode);
54 
55  std::uint16_t getOriginalUsbVID(long deviceID, int *errorCode);
56  std::uint16_t getOriginalUsbPID(long deviceID, int *errorCode);
57  std::uint16_t getUsbVID(long deviceID, int *errorCode);
58  void setUsbVID(long deviceID, int *errorCode, std::uint16_t vid);
59  std::uint16_t getUsbPID(long deviceID, int *errorCode);
60  void setUsbPID(long deviceID, int *errorCode, std::uint16_t pid);
61 
62  int getOriginalManufacturerString(long deviceID, int *errorCode, char *buffer, int bufferLength);
63  int getOriginalModelString(long deviceID, int *errorCode, char *buffer, int bufferLength);
64  int getManufacturerString(long deviceID, int *errorCode, char *buffer, int bufferLength);
65  void setManufacturerString(long deviceID, int *errorCode, char *buffer, int bufferLength);
66  int getModelString(long deviceID, int *errorCode, char *buffer, int bufferLength);
67  void setModelString(long deviceID, int *errorCode, char *buffer, int bufferLength);
68 
69  private:
70  static DeviceInformationAPI *instance;
71  };
72  }
73 }
74 #endif /* DEVICE_INFORMATION_API_H */
Definition: DeviceInformationAPI.h:45
This is an interface to OceanDirect that allows the user to connect to devices over USB and other bus...
Definition: OceanDirectAPI.h:144