PL::EspNetworkInterface class
-
class EspNetworkInterface : public virtual PL::NetworkInterface
Internal ESP network interface class.
Subclassed by PL::EspWiFiStation
Public Functions
-
~EspNetworkInterface()
Note
Every derived class must call UnregisterEventHandler as the first statement of its own destructor, before any of its own members are destroyed, so that the IP_EVENT handler cannot be invoked on an object whose virtual Lock() no longer dispatches to the derived override. The base destructor aborts if this was not done.
-
virtual esp_err_t EnableIpV4DhcpClient() override
Enables IPv4 DHCP client.
- Returns:
error code
-
virtual esp_err_t DisableIpV4DhcpClient() override
Disables IPv4 DHCP client.
- Returns:
error code
-
virtual esp_err_t EnableIpV6DhcpClient() override
Enables IPv6 DHCP client.
- Returns:
error code
-
virtual esp_err_t DisableIpV6DhcpClient() override
Disables IPv6 DHCP client.
- Returns:
error code
-
virtual bool IsIpV4DhcpClientEnabled() override
Checks if IPv4 DHCP client is enabled.
- Returns:
true if IPv4 DHCP client is enabled
-
virtual bool IsIpV6DhcpClientEnabled() override
Checks if IPv6 DHCP client is enabled.
- Returns:
true if IPv6 DHCP client is enabled
-
virtual IpV4Address GetIpV4Address() override
Gets IPv4 address.
- Returns:
IPv4 address
-
virtual esp_err_t SetIpV4Address(IpV4Address address) override
Sets IPv4 address.
- Parameters:
address – IPv4 address
- Returns:
error code
-
virtual IpV4Address GetIpV4Netmask() override
Gets IPv4 netmask.
- Returns:
IPv4 netmask
-
virtual esp_err_t SetIpV4Netmask(IpV4Address netmask) override
Sets IPv4 netmask.
- Parameters:
netmask – IPv4 netmask
- Returns:
error code
-
virtual IpV4Address GetIpV4Gateway() override
Gets IPv4 gateway.
- Returns:
IPv4 gateway
-
virtual esp_err_t SetIpV4Gateway(IpV4Address gateway) override
Sets IPv4 gateway.
- Parameters:
gateway – IPv4 gateway
- Returns:
error code
-
virtual IpV6Address GetIpV6LinkLocalAddress() override
Gets IPv6 link local address.
- Returns:
IPv6 link local address
-
virtual IpV6Address GetIpV6GlobalAddress() override
Gets IPv6 global address.
- Returns:
IPv6 global address
-
virtual esp_err_t SetIpV6GlobalAddress(IpV6Address address) override
Sets IPv6 global address.
- Parameters:
address – IPv6 global address
- Returns:
error code
-
virtual bool IsConnected() = 0
Checks if the network interface is connected.
- Returns:
true if the network interface is connected
-
virtual esp_err_t Initialize() = 0
Initializes the hardware interface.
- Returns:
error code
-
virtual esp_err_t Enable() = 0
Enables the hardware interface.
- Returns:
error code
-
virtual esp_err_t Disable() = 0
Disables the hardware interface.
- Returns:
error code
-
virtual bool IsEnabled() = 0
Checks if the hardware interface is enabled.
- Returns:
true if the hardware interface is enabled
-
std::string GetName()
Gets the hardware interface name.
- Returns:
name
-
void SetName(const std::string &name)
Sets the hardware interface name.
- Parameters:
name –
-
virtual esp_err_t Lock(TickType_t timeout = portMAX_DELAY) = 0
Locks the object.
- Parameters:
timeout – timeout in FreeRTOS ticks
- Returns:
error code
-
virtual esp_err_t Unlock() = 0
Unlocks the object.
- Returns:
error code
Public Members
-
Event<NetworkInterface> connectedEvent
Network interface connected event.
-
Event<NetworkInterface> disconnectedEvent
Network interface disconnected event.
-
Event<NetworkInterface> gotIpV4AddressEvent
Network interface got IPv4 event.
-
Event<NetworkInterface> lostIpV4AddressEvent
Network interface lost IPv4 event.
-
Event<NetworkInterface> gotIpV6AddressEvent
Network interface got IPv6 event.
-
Event<NetworkInterface> lostIpV6AddressEvent
Network interface lost IPv6 event.
-
Event<HardwareInterface> enabledEvent
hardware interface enabled event
-
Event<HardwareInterface> disabledEvent
hardware interface disabled event
Protected Functions
-
inline EspNetworkInterface()
Creates an internal ESP network interface.
-
esp_err_t InitializeNetif(esp_netif_t *netif)
Initializes the interface.
- Parameters:
netif – ESP netif
- Returns:
error code
-
esp_err_t UnregisterEventHandler()
Unregisters the IP event handler.
Note
Must be called as the first statement of the destructor of every derived class so that no event can be dispatched to this object after its own members start being destroyed.
- Returns:
error code
-
~EspNetworkInterface()