OceanDirectLighthouseC++ 3.1.3
OceanDirect Lighthouse C++/C API
NetworkConfigurationAPI.h
Go to the documentation of this file.
1/*****************************************************
2 * @file NetworkConfigurationAPI.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 NETWORK_CONFIGURATION_API_H
31#define NETWORK_CONFIGURATION_API_H
32
33#include "api/DllDecl.h"
34#include <cstdint>
41namespace oceandirect {
42 namespace api {
43
44 class DLL_DECL NetworkConfigurationAPI {
45 public:
47 virtual ~NetworkConfigurationAPI() = default;
49
50 static void shutdown();
51
52 //Legacy Commands
65 virtual std::uint32_t getNetworkInterfaceCount(long deviceID, int* errorCode);
66
80 virtual std::uint32_t getNetworkInterfaceType(long deviceID, int* errorCode, std::uint32_t interfaceIndex);
81
95 virtual bool getNetworkInterfaceStatus(long deviceID, int* errorCode, std::uint32_t interfaceIndex);
96
110 virtual void setNetworkInterfaceStatus(long deviceID, int* errorCode, std::uint32_t interfaceIndex, bool enable);
111
125 bool getMulticastGroupEnabled(long deviceID, int* errorCode, std::uint32_t interfaceIndex);
126
140 void setMulticastGroupEnabled(long deviceID, int* errorCode, std::uint32_t interfaceIndex, bool enabled);
141
142
155 virtual void saveNetworkInterfaceSetting(long deviceID, int* errorCode, std::uint32_t interfaceIndex);
156
157
158 //OBP2 Commands
171 virtual bool getIPAddressAssignedMode(long deviceID, int* errorCode);
172
185 virtual void setIPAddressAssignedMode(long deviceID, int* errorCode, bool useDHCP);
186
187
207 virtual void getNetworkConfiguration(long deviceID, int* errorCode, bool& outManualAssignment,
208 std::uint8_t* outIpv4Address, std::uint32_t ipv4AddressSize,
209 std::uint8_t* outSubnetMask, std::uint32_t subnetMaskSize,
210 std::uint8_t* outDefaultGateway, std::uint32_t defaultGatewaySize,
211 std::uint8_t* outDNSServer, std::uint32_t dnsServerSize);
212
232 virtual void setManualNetworkConfiguration(long deviceID, int* errorCode,
233 const std::uint8_t* ipv4Address, std::uint32_t ipv4AddressSize,
234 const std::uint8_t* subnetMask, std::uint32_t subnetMaskSize,
235 const std::uint8_t* defaultGateway, std::uint32_t defaultGatewaySize,
236 const std::uint8_t* dnsServer, std::uint32_t dnsServerSize);
237
257 virtual void getManualNetworkConfiguration(long deviceID, int* errorCode,
258 std::uint8_t* outIpv4Address, std::uint32_t ipv4AddressSize,
259 std::uint8_t* outSubnetMask, std::uint32_t subnetMaskSize,
260 std::uint8_t* outDefaultGateway, std::uint32_t defaultGatewaySize,
261 std::uint8_t* outDNSServer, std::uint32_t dnsServerSize);
262
263
276 virtual bool getEthernetAddOnAvailable(long deviceID, int* errorCode);
277
291 virtual void getEthernetMACAddress(long deviceID, int* errorCode, std::uint8_t* outMACAddress, std::uint32_t outMACAddressSize);
292
307 virtual void setEthernetMACAddress(long deviceID, int* errorCode, const std::uint8_t* macAddress, std::uint32_t macAddressSize);
308
320 virtual bool getEthernetLoopBackTest(long deviceID, int* errorCode);
321
322 protected:
324 };
325 }
326}
327#endif /* NETWORK_CONFIGURATION_API_H */
Definition NetworkConfigurationAPI.h:44
virtual void saveNetworkInterfaceSetting(long deviceID, int *errorCode, std::uint32_t interfaceIndex)
virtual void setIPAddressAssignedMode(long deviceID, int *errorCode, bool useDHCP)
bool getMulticastGroupEnabled(long deviceID, int *errorCode, std::uint32_t interfaceIndex)
virtual void getEthernetMACAddress(long deviceID, int *errorCode, std::uint8_t *outMACAddress, std::uint32_t outMACAddressSize)
virtual bool getEthernetLoopBackTest(long deviceID, int *errorCode)
virtual std::uint32_t getNetworkInterfaceType(long deviceID, int *errorCode, std::uint32_t interfaceIndex)
virtual bool getNetworkInterfaceStatus(long deviceID, int *errorCode, std::uint32_t interfaceIndex)
virtual void getNetworkConfiguration(long deviceID, int *errorCode, bool &outManualAssignment, std::uint8_t *outIpv4Address, std::uint32_t ipv4AddressSize, std::uint8_t *outSubnetMask, std::uint32_t subnetMaskSize, std::uint8_t *outDefaultGateway, std::uint32_t defaultGatewaySize, std::uint8_t *outDNSServer, std::uint32_t dnsServerSize)
virtual bool getEthernetAddOnAvailable(long deviceID, int *errorCode)
static NetworkConfigurationAPI * getInstance()
virtual bool getIPAddressAssignedMode(long deviceID, int *errorCode)
virtual void getManualNetworkConfiguration(long deviceID, int *errorCode, std::uint8_t *outIpv4Address, std::uint32_t ipv4AddressSize, std::uint8_t *outSubnetMask, std::uint32_t subnetMaskSize, std::uint8_t *outDefaultGateway, std::uint32_t defaultGatewaySize, std::uint8_t *outDNSServer, std::uint32_t dnsServerSize)
virtual void setManualNetworkConfiguration(long deviceID, int *errorCode, const std::uint8_t *ipv4Address, std::uint32_t ipv4AddressSize, const std::uint8_t *subnetMask, std::uint32_t subnetMaskSize, const std::uint8_t *defaultGateway, std::uint32_t defaultGatewaySize, const std::uint8_t *dnsServer, std::uint32_t dnsServerSize)
void setMulticastGroupEnabled(long deviceID, int *errorCode, std::uint32_t interfaceIndex, bool enabled)
virtual void setNetworkInterfaceStatus(long deviceID, int *errorCode, std::uint32_t interfaceIndex, bool enable)
static NetworkConfigurationAPI * instance
Definition NetworkConfigurationAPI.h:323
virtual std::uint32_t getNetworkInterfaceCount(long deviceID, int *errorCode)
virtual void setEthernetMACAddress(long deviceID, int *errorCode, const std::uint8_t *macAddress, std::uint32_t macAddressSize)
This is an interface to OceanDirect that allows the user to connect to devices over USB and other bus...
Definition OceanDirectAPI.h:147