PL::WiFiStation class

class WiFiStation : public virtual PL::NetworkInterface

Wi-Fi station class.

Subclassed by PL::EspWiFiStation

Public Functions

inline WiFiStation()

Creates a Wi-Fi station.

virtual std::string GetSsid() = 0

Gets station SSID.

Returns:

station SSID

virtual esp_err_t SetSsid(const std::string &ssid) = 0

Sets station SSID.

Parameters:

ssid – station SSID

Returns:

error code

virtual std::string GetPassword() = 0

Gets station password.

Returns:

station password

virtual esp_err_t SetPassword(const std::string &password) = 0

Sets station password.

Parameters:

password – station password

Returns:

error code

virtual esp_err_t EnableIpV4DhcpClient() = 0

Enables IPv4 DHCP client.

Returns:

error code

virtual esp_err_t DisableIpV4DhcpClient() = 0

Disables IPv4 DHCP client.

Returns:

error code

virtual esp_err_t EnableIpV6DhcpClient() = 0

Enables IPv6 DHCP client.

Returns:

error code

virtual esp_err_t DisableIpV6DhcpClient() = 0

Disables IPv6 DHCP client.

Returns:

error code

virtual bool IsConnected() = 0

Checks if the network interface is connected.

Returns:

true if the network interface is connected

virtual bool IsIpV4DhcpClientEnabled() = 0

Checks if IPv4 DHCP client is enabled.

Returns:

true if IPv4 DHCP client is enabled

virtual bool IsIpV6DhcpClientEnabled() = 0

Checks if IPv6 DHCP client is enabled.

Returns:

true if IPv6 DHCP client is enabled

virtual IpV4Address GetIpV4Address() = 0

Gets IPv4 address.

Returns:

IPv4 address

virtual esp_err_t SetIpV4Address(IpV4Address address) = 0

Sets IPv4 address.

Parameters:

address – IPv4 address

Returns:

error code

virtual IpV4Address GetIpV4Netmask() = 0

Gets IPv4 netmask.

Returns:

IPv4 netmask

virtual esp_err_t SetIpV4Netmask(IpV4Address netmask) = 0

Sets IPv4 netmask.

Parameters:

netmask – IPv4 netmask

Returns:

error code

virtual IpV4Address GetIpV4Gateway() = 0

Gets IPv4 gateway.

Returns:

IPv4 gateway

virtual esp_err_t SetIpV4Gateway(IpV4Address gateway) = 0

Sets IPv4 gateway.

Parameters:

gateway – IPv4 gateway

Returns:

error code

virtual IpV6Address GetIpV6LinkLocalAddress() = 0

Gets IPv6 link local address.

Returns:

IPv6 link local address

virtual IpV6Address GetIpV6GlobalAddress() = 0

Gets IPv6 global address.

Returns:

IPv6 global address

virtual esp_err_t SetIpV6GlobalAddress(IpV6Address address) = 0

Sets IPv6 global address.

Parameters:

address – IPv6 global address

Returns:

error code

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 IPv4 event.

Event<HardwareInterface> enabledEvent

hardware interface enabled event

Event<HardwareInterface> disabledEvent

hardware interface disabled event