OceanDirectLighthouse  3.1.1
OceanDirect Lighthouse C++/C API
LHNetworkConfigurationAPI.h
1 #ifndef LH_NETWORK_CONFIGURATION_API_H
2 #define LH_NETWORK_CONFIGURATION_API_H
3 /*****************************************************
4  * @file LHNetworkConfigurationAPI.h
5  * @date November 2023
6  * @author Ocean Insight, Inc.
7  *
8  * This is an interface to OceanDirect that allows
9  * the user to connect to devices over USB and other buses.
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 #include "lighthouse/api/LighthouseDllDecl.h"
33 #include "lighthouse/api/lhdefs.h"
34 
41 namespace oceandirect {
42  namespace api {
43  class LIGHTHOUSE_DLL_DECL LHNetworkConfigurationAPI {
44  public:
45  virtual ~LHNetworkConfigurationAPI() = default;
46 
54  virtual lh_ip_assign_mode_t getIPAddressAssignedMode(lh_device_id_t deviceID, lh_error_code_t* errorCode);
55 
63  virtual void setIPAddressAssignedMode(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_ip_assign_mode_t mode);
64 
80  virtual void getManualNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_network_configuration_t& configuration);
81 
97  virtual void setManualNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_network_configuration_t& configuration);
98 
115  virtual void getNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t* errorCode, bool& outManualAssignment, lh_network_configuration_t& configuration);
116 
123  virtual bool getEthernetAddOnAvailable(lh_device_id_t deviceID, lh_error_code_t* errorCode);
124 
132  virtual void getEthernetMACAddress(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_mac_address_array_t outMACAddress,
133  size_t outMACAddressSize);
134  };
135  }
136 }
137 #endif /* LH_NETWORK_CONFIGURATION_API_H */
Definition: LHNetworkConfigurationAPI.h:43
virtual void getEthernetMACAddress(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_mac_address_array_t outMACAddress, size_t outMACAddressSize)
virtual void getNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t *errorCode, bool &outManualAssignment, lh_network_configuration_t &configuration)
virtual bool getEthernetAddOnAvailable(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void getManualNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_network_configuration_t &configuration)
virtual void setManualNetworkConfiguration(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_network_configuration_t &configuration)
virtual lh_ip_assign_mode_t getIPAddressAssignedMode(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setIPAddressAssignedMode(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_ip_assign_mode_t mode)
This is the API for controlling the autonulling functionality of a device.
Definition: LighthouseAPI.h:54