19#ifndef FASTDDS_RTPS_TRANSPORT_NETWORK__NETWORKINTERFACE_HPP
20#define FASTDDS_RTPS_TRANSPORT_NETWORK__NETWORKINTERFACE_HPP
24#include <fastdds/rtps/common/LocatorWithMask.hpp>
25#include <fastdds/fastdds_dll.hpp>
41 const std::string&
name);
46 const std::string&
ip,
A Locator with a mask that defines the number of significant bits of its address.
Definition LocatorWithMask.hpp:35
Structure encapsulating relevant network interface information.
Definition NetworkInterface.hpp:38
LocatorWithMask locator
IP address with network mask.
Definition NetworkInterface.hpp:80
FASTDDS_EXPORTED_API NetworkInterface(NetworkInterface &&iface)=default
Move constructor.
FASTDDS_EXPORTED_API NetworkInterface(const std::string &name)
Constructor by name.
std::string ip
IP address in string format (includes scope ID in the IPv6 case)
Definition NetworkInterface.hpp:78
FASTDDS_EXPORTED_API NetworkInterface(const std::string &device, const std::string &ip, const LocatorWithMask &locator)
Constructor by device name, IP address string and locator with mask.
std::string device
Interface device name.
Definition NetworkInterface.hpp:76
std::string name
Interface device name or IP address in string format (to be filled by the user)
Definition NetworkInterface.hpp:73
virtual FASTDDS_EXPORTED_API ~NetworkInterface()=default
Destructor.
FASTDDS_EXPORTED_API bool operator==(const NetworkInterface &iface) const
Comparison operator.
FASTDDS_EXPORTED_API NetworkInterface & operator=(const NetworkInterface &iface)=default
Copy assignment.
FASTDDS_EXPORTED_API NetworkInterface(const NetworkInterface &iface)=default
Copy constructor.