OceanDirect  2.4.0
OceanDirect C++/C API
EthernetAPI.h
1 /*****************************************************
2  * @file EthernetAPI.h
3  * @date May 2022
4  * @author Ocean Insight, Inc.
5  *
6  * This is an interface to OceanDirect that allows
7  * the user to read and write user strin to device.
8  * This is intended as a usable and extensible API.
9  */
10  /************************************************************************
11  *
12  * OCEAN INSIGHT CONFIDENTIAL
13  * __________________
14  *
15  * [2018] - [2022] 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 ETHERNET_API_H
31 #define ETHERNET_API_H
32 
33 #include "api/DllDecl.h"
34 
41 namespace oceandirect {
42  namespace api {
43 
44  class DLL_DECL EthernetAPI {
45  public:
46  EthernetAPI() = default;
47  virtual ~EthernetAPI() = default;
48  static EthernetAPI *getInstance();
49 
50  static void shutdown();
51 
52  bool getGigabitEthernetEnableStatus(long deviceID, int* errorCode, std::uint32_t interfaceIndex);
53  void setGigabitEthernetEnableStatus(long deviceID, int* errorCode, std::uint32_t interfaceIndex, bool enable);
54 
55  void getMACAddress(long deviceID, int* errorCode, std::uint32_t interfaceIndex, std::uint8_t *macAddress, std::uint32_t macAddressLength);
56  void setMACAddress(long deviceID, int* errorCode, std::uint32_t interfaceIndex, std::uint8_t* macAddress, std::uint32_t macAddressLength);
57 
58  private:
59  static EthernetAPI *instance;
60  };
61  }
62 }
63 #endif /* ETHERNET_API_H */
Definition: EthernetAPI.h:44
This is an interface to OceanDirect that allows the user to connect to devices over USB and other bus...
Definition: OceanDirectAPI.h:144