Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
visionary::VisionaryAutoIPScan Class Reference

#include <VisionaryAutoIPScan.h>

Classes

struct  DeviceInfo
 
struct  MacAddress
 

Public Types

enum  ProtocolType { INVALID_PROTOCOL = -1, COLA_A = 2111, COLA_B = 2112, COLA_2 = 2122 }
 

Public Member Functions

bool assign (const MacAddress &destinationMac, ProtocolType colaVer, const std::string &ipAddr, std::uint8_t prefixLength, const std::string &ipGateway=DEFAULT_GATEWAY, bool dhcp=DEFAULT_DHCP, unsigned int timout=DEFAULT_TIMEOUT)
 
std::vector< DeviceInfodoScan (unsigned int timeOut, std::uint16_t port=DEFAULT_PORT)
 
 VisionaryAutoIPScan (const std::string &serverIP, std::uint8_t prefixLength)
 

Static Public Member Functions

static std::string convertMacToString (const MacAddress &macAddress)
 
static MacAddress convertMacToStruct (const std::string &basicString)
 

Static Public Attributes

static const std::string DEFAULT_BROADCAST_ADDR {"255.255.255.255"}
 
static constexpr bool DEFAULT_DHCP {false}
 
static const std::string DEFAULT_GATEWAY {"0.0.0.0"}
 
static const std::string DEFAULT_IP_MASK {"255.255.255.0"}
 
static constexpr std::uint16_t DEFAULT_PORT {30718u}
 
static constexpr std::uint16_t DEFAULT_TIMEOUT {5000}
 

Private Types

using ByteBuffer = std::vector< std::uint8_t >
 

Private Member Functions

DeviceInfo parseAutoIPBinary (const ByteBuffer &receivedBuffer)
 
DeviceInfo parseAutoIPXml (std::stringstream &rStringStream)
 

Static Private Member Functions

static std::vector< std::uint8_t > convertIpToBinary (const std::string &address)
 
static std::string networkPrefixToMask (std::uint8_t prefixLength)
 

Private Attributes

std::string m_serverIP
 
std::string m_serverNetMask
 

Detailed Description

This class is intended to find devices in the network and set a new IP address

Definition at line 17 of file VisionaryAutoIPScan.h.

Member Typedef Documentation

◆ ByteBuffer

using visionary::VisionaryAutoIPScan::ByteBuffer = std::vector<std::uint8_t>
private

Definition at line 88 of file VisionaryAutoIPScan.h.

Member Enumeration Documentation

◆ ProtocolType

Enumerator
INVALID_PROTOCOL 
COLA_A 
COLA_B 
COLA_2 

Definition at line 27 of file VisionaryAutoIPScan.h.

Constructor & Destructor Documentation

◆ VisionaryAutoIPScan()

visionary::VisionaryAutoIPScan::VisionaryAutoIPScan ( const std::string &  serverIP,
std::uint8_t  prefixLength 
)

Constructor for the AutoIP scan

Parameters
serverIPip address of the server which is executing the search
prefixLengththe network prefix length of the server in the CIDR manner

Definition at line 474 of file VisionaryAutoIPScan.cpp.

Member Function Documentation

◆ assign()

bool visionary::VisionaryAutoIPScan::assign ( const MacAddress destinationMac,
VisionaryAutoIPScan::ProtocolType  colaVer,
const std::string &  ipAddr,
std::uint8_t  prefixLength,
const std::string &  ipGateway = DEFAULT_GATEWAY,
bool  dhcp = DEFAULT_DHCP,
unsigned int  timout = DEFAULT_TIMEOUT 
)

Assigns a new ip configuration to a device based on the MAC address

Parameters
destinationMacMAC address of the device on to which to assign the new configuration
colaVercola version of the device
ipAddrnew ip address of the device
prefixLengththe network prefix length of the server in the CIDR manner
ipGatewaynew gateway of the device
dhcptrue if dhcp should be enabled
timouttimeout in ms
Returns

Definition at line 513 of file VisionaryAutoIPScan.cpp.

◆ convertIpToBinary()

std::vector< std::uint8_t > visionary::VisionaryAutoIPScan::convertIpToBinary ( const std::string &  address)
staticprivate

Definition at line 499 of file VisionaryAutoIPScan.cpp.

◆ convertMacToString()

std::string visionary::VisionaryAutoIPScan::convertMacToString ( const MacAddress macAddress)
static

Definition at line 651 of file VisionaryAutoIPScan.cpp.

◆ convertMacToStruct()

VisionaryAutoIPScan::MacAddress visionary::VisionaryAutoIPScan::convertMacToStruct ( const std::string &  basicString)
static

Definition at line 633 of file VisionaryAutoIPScan.cpp.

◆ doScan()

std::vector< VisionaryAutoIPScan::DeviceInfo > visionary::VisionaryAutoIPScan::doScan ( unsigned int  timeOut,
std::uint16_t  port = DEFAULT_PORT 
)

Runs an autoIP scan and returns a list of devices

Parameters
timeOuttimout of the search in ms
broadcastAddressbroadcast address for the scan
portthe port on which to perform the scan
Returns
a list of devices

Definition at line 55 of file VisionaryAutoIPScan.cpp.

◆ networkPrefixToMask()

std::string visionary::VisionaryAutoIPScan::networkPrefixToMask ( std::uint8_t  prefixLength)
staticprivate

Definition at line 479 of file VisionaryAutoIPScan.cpp.

◆ parseAutoIPBinary()

VisionaryAutoIPScan::DeviceInfo visionary::VisionaryAutoIPScan::parseAutoIPBinary ( const ByteBuffer receivedBuffer)
private

Definition at line 238 of file VisionaryAutoIPScan.cpp.

◆ parseAutoIPXml()

VisionaryAutoIPScan::DeviceInfo visionary::VisionaryAutoIPScan::parseAutoIPXml ( std::stringstream &  rStringStream)
private

Definition at line 179 of file VisionaryAutoIPScan.cpp.

Member Data Documentation

◆ DEFAULT_BROADCAST_ADDR

const std::string visionary::VisionaryAutoIPScan::DEFAULT_BROADCAST_ADDR {"255.255.255.255"}
static

Definition at line 21 of file VisionaryAutoIPScan.h.

◆ DEFAULT_DHCP

constexpr bool visionary::VisionaryAutoIPScan::DEFAULT_DHCP {false}
staticconstexpr

Definition at line 24 of file VisionaryAutoIPScan.h.

◆ DEFAULT_GATEWAY

const std::string visionary::VisionaryAutoIPScan::DEFAULT_GATEWAY {"0.0.0.0"}
static

Definition at line 23 of file VisionaryAutoIPScan.h.

◆ DEFAULT_IP_MASK

const std::string visionary::VisionaryAutoIPScan::DEFAULT_IP_MASK {"255.255.255.0"}
static

Definition at line 22 of file VisionaryAutoIPScan.h.

◆ DEFAULT_PORT

constexpr std::uint16_t visionary::VisionaryAutoIPScan::DEFAULT_PORT {30718u}
staticconstexpr

Definition at line 20 of file VisionaryAutoIPScan.h.

◆ DEFAULT_TIMEOUT

constexpr std::uint16_t visionary::VisionaryAutoIPScan::DEFAULT_TIMEOUT {5000}
staticconstexpr

Definition at line 25 of file VisionaryAutoIPScan.h.

◆ m_serverIP

std::string visionary::VisionaryAutoIPScan::m_serverIP
private

Definition at line 89 of file VisionaryAutoIPScan.h.

◆ m_serverNetMask

std::string visionary::VisionaryAutoIPScan::m_serverNetMask
private

Definition at line 90 of file VisionaryAutoIPScan.h.


The documentation for this class was generated from the following files:


sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 04:38:18