21#ifndef INCLUDE_OLA_NETWORK_INTERFACE_H_
22#define INCLUDE_OLA_NETWORK_INTERFACE_H_
37 enum { DEFAULT_INDEX = -1 };
40 Interface(
const std::string &name,
46 int32_t index = DEFAULT_INDEX,
47 uint16_t type = ARP_VOID_TYPE);
48 Interface(
const Interface &other);
49 Interface& operator=(
const Interface &other);
50 bool operator==(
const Interface &other);
62 static const uint16_t ARP_VOID_TYPE;
63 static const uint16_t ARP_ETHERNET_TYPE;
75 void SetName(
const std::string &name) { m_name = name; }
77 bool SetAddress(
const std::string &ip_address);
79 m_ip_address = ip_address;
84 m_broadcast_address = broadcast_address;
92 void SetHardwareAddress(
const MACAddress &mac_address) {
93 m_hw_address = mac_address;
121 return (if1.index < if2.index);
Represents an IPv4 Address.
Represents a MAC Address.
Represents a IPv4 Address.
Definition IPV4Address.h:55
void SetIndex(int32_t index)
Definition Interface.cpp:179
void Reset()
Definition Interface.cpp:195
void SetType(uint16_t type)
Definition Interface.cpp:187
bool SetAddress(const std::string &ip_address)
Definition Interface.cpp:147
bool SetBroadcast(const std::string &broadcast_address)
Definition Interface.cpp:155
bool SetSubnetMask(const std::string &mask)
Definition Interface.cpp:163
InterfaceBuilder()
Definition Interface.cpp:133
void SetLoopback(bool loopback)
Definition Interface.cpp:171
Interface Construct()
Definition Interface.cpp:213
Definition Interface.h:35
Represents a MAC Address.
Definition MACAddress.h:50
Code for network communication.
Definition AdvancedTCPConnector.cpp:28
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
Definition Interface.h:119