# Access point management

**Detailed Description**

This section contains APIs related to access point configuration management, such as private/guest, internet/local access, etc.

- *group* Telematics\_wlan\_ap

    - Defines

- INVALID\_AP\_ID

    -

Enums

- enum ApInterworking

    - AP Interworking Information

*Values:*

- enumerator INTERNET\_ACCESS

    - AP with internet access only - No LAN access

- enumerator FULL\_ACCESS

    - AP Can Access LAN and Internet

- enum ApDeviceConnectionEvent

    - AP Client Connection Status

*Values:*

- enumerator CONNECTED

    - 

- enumerator DISCONNECTED

    - 

- enumerator IPV4\_UPDATED

    - 

- enumerator IPV6\_UPDATED

    -

- enum SecMode

    - Wlan Security Mode

*Values:*

- enumerator OPEN

    - Open System Architecture

- enumerator WEP

    - Wired Equivalent Privacy

- enumerator WPA

    - Wi-Fi Protected Access

- enumerator WPA2

    - Wi-Fi Protected Access II

- enumerator WPA3

    - Wi-Fi Protected Access III

- enum SecAuth

    - Wlan Authentication Method

*Values:*

- enumerator NONE

    - No Authentication - Open System

- enumerator PSK

    - Pre-Shared Key

- enumerator EAP\_SIM

    - EAP - Subscriber Identity Module

- enumerator EAP\_AKA

    - EAP - Authentication and Key Agreement

- enumerator EAP\_LEAP

    - EAP - Lightweight Extensible Authentication Protocol

- enumerator EAP\_TLS

    - EAP - Transport Layer Security

- enumerator EAP\_TTLS

    - EAP - Tunneled Transport Layer Security

- enumerator EAP\_PEAP

    - EAP - Protected EAP

- enumerator EAP\_FAST

    - EAP - Flexible Authentication via Secure Tunneling

- enumerator EAP\_PSK

    - EAP - Pre-Shared Key

- enumerator SAE

    - Simultaneous Authentication of Equals

- enum SecEncrypt

    - Wlan Encryption Method

*Values:*

- enumerator RC4

    - Rivest Cipher 4

- enumerator TKIP

    - Temporal Key Integrity Protocol

- enumerator AES

    - Advanced Encryption Standard

- enumerator GCMP

    - Galois/Counter Mode Protocol

- enum NetAccessType

    - AP Network Access Type

*Values:*

- enumerator PRIVATE

    - Private Network

- enumerator PRIVATE\_WITH\_GUEST

    - Private network with guest access

- enumerator CHARGEABLE\_PUBLIC

    - Chargeable public network

- enumerator FREE\_PUBLIC

    - Free public network

- enumerator PERSONAL\_DEVICE

    - Personal device network

- enumerator EMERGENCY\_SERVICES\_ONLY

    - Emergency services only network

- enumerator TEST\_OR\_EXPERIMENTAL

    - Test or experimental

- enumerator WILDCARD

    - Wildcard

Functions

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setConfig(ApConfig config) = 0

    - Set Access Point config: Used to fully configure access points including venue type, radio type (2.4/5/6 GHz), private/guest network and all other related settings. Configurations will take effect after hostapd service is restarted by calling [telux::wlan::IApInterfaceManager::manageApService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga1b88ea91e52335890b87e63a946e5446).

The primary access point, identified by telux::wlan::Id::PRIMARY, has specific configuration restrictions. It can only be configured with the following attributes: telux::wlan::ApType::PRIVATE and telux::wlan::ApInterworking::FULL\_ACCESS. In contrast, all other access points are expected to be configured with telux::wlan::ApType::GUEST.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - **config** – **[in]** AP configuration parameters [telux::wlan::ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00784)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d) telux::common::ErrorCode::INVALID\_ARG is returned if AP to be configured was not enabled in telux::wlan::WlanDeviceManager::setMode.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setSecurityConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, ApSecurity apSecurity) = 0

    - Set Wlan Security Configuration: Used to change security settings of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set security for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **apSecurity** – **[in]** AP security settings. [telux::wlan::ApSecurity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00780)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setSsid([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, std::string ssid) = 0

    - Set Access Point SSID: Used to change SSID of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set SSID for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **ssid** – **[in]** new SSID to be set

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setVisibility([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, bool isVisible) = 0

    - Set Access Point visibility: Used to change SSID broadcast of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set SSID visibility for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **isVisible** – **[in]** Visibility to be set

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setElementInfoConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, ApElementInfoConfig config) = 0

    - Configure Element Info: Used to change element info configurations of selected network.

A successful response from this API indicates only that the input configuration has been stored. It does not validate the correctness or compliance of the provided values with IEEE 802.11 specifications.

The caller is responsible for ensuring that the values provided in [telux::wlan::ApElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00781) comply with applicable constraints and interdependencies as defined in the IEEE 802.11 standard.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to enable element info on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **config** – **[in]** Element Info configurations.

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setPassPhrase([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, std::string passPhrase) = 0

    - Set Passphrase for Access Point: Used to change passphrase of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set passphrase for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **passPhrase** – **[in]** new passPhrase string

- Returns:

    - Immediate status of [setPassPhrase()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2560fafc9599c264c80fddb2e211d0df) request i.e. success or suitable status.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConfig(std::vector&lt;ApConfig&gt; &config) = 0

    - Request Access Point Configurations

When using any configuration update API such as [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8), [telux::wlan::IApInterfaceManager::setSecurityConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga321cedab59d518f833a151d656e14661), [telux::wlan::IApInterfaceManager::setSsid](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga8e4d59bab884692e12cbcb289278c744), [telux::wlan::IApInterfaceManager::setVisibility](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga7d4e14bb138c269cd25a841b401bbcd1), [telux::wlan::IApInterfaceManager::setElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1gaf339218d1d391746f86ec2322f5d644e), or [telux::wlan::IApInterfaceManager::setPassPhrase](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2560fafc9599c264c80fddb2e211d0df), it is essential to wait for the [telux::wlan::IApListener::onApConfigChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1gabcc3797182fdc8408fc72a1255f3db61) notification before invoking [getConfig()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga07c033e489a3b848fb350b071c615e8b). This ensures that all configuration changes have been fully applied and synchronised internally.

- Parameters:

    - **config** – **[in]** Vector of AP configurations [telux::wlan::ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00784) as set by [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getStatus(std::vector&lt;ApStatus&gt; &status) = 0

    - Request AP Status

- Parameters:

    - **status** – **[in]** Vector of AP network Status [telux::wlan::ApStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00798)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConnectedDevices(std::vector&lt;DeviceInfo&gt; &clientsInfo) = 0

    - Requests the list of connected devices across all enabled access points. Each entry in the returned list provides details about a device, including the access point it is connected to, as well as its IP and MAC addresses, as defined in [telux::wlan::DeviceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00786).

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_DEVICES permission to invoke this API successfully.

- Parameters:

    - **clientsInfo** – **[in]** List of connected devices Info [telux::wlan::DeviceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00786)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) manageApService([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId, [ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv416ServiceOperation) opr) = 0

    - Execute an operation on hostapd service. Provides ability for client to either stop/start or restart hostapd service for selected access point. Restarting hostapd service is required for any changes made to hostapd.conf file and changes made by [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8) to take effect. Stop/Start operation [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f) will Stop/Start WiFi service for access point. Access points selected to execute operation on, will temporarily go out of service when this API is called. This API should be called only when access point is configured using telux::wlan::IDeviceManager::setMode.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to execute operation on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **opr** – **[in]** Operation to be performed on hostapd [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) registerListener(std::weak\_ptr&lt;IApListener&gt; listener) = 0

    - Register a listener for specific events in Access Point Manager

- Parameters:

    - **listener** – **[in]** pointer of [IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00778) object that processes the notification

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) deregisterListener(std::weak\_ptr&lt;IApListener&gt; listener) = 0

    - Removes a previously added listener.

- Parameters:

    - **listener** – **[in]** pointer of [IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00778) object that needs to be removed

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- inline virtual ~IApInterfaceManager()

    - 

- inline virtual void onApDeviceStatusChanged([ApDeviceConnectionEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv423ApDeviceConnectionEvent) event, std::vector&lt;DeviceIndInfo&gt; info)

    - This function is called when AP device status has changed

- Parameters:

    - - **event** – **[in]** Event detected on device [telux::wlan::ApDeviceConnectionEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2809454a5806eff65f67f256ef684962)
- **info** – **[in]** Info about devices [telux::wlan::DeviceIndInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00785)

- inline virtual void onApBandChanged([BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv48BandType) radio)

    - This function is called when AP switch to different operation band

- Parameters:

    - **radio** – **[in]** New AP operation band [telux::wlan::BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga6880eb6b46f211d4e68f217e977f5bde)

- inline virtual void onApConfigChanged([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) apId)

    - This function is called when AP configuration has changed

- Parameters:

    - **apid** – **[in]** [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef) of Ap it’s configuration has changed

- inline virtual ~IApListener()

    -

Variables

- int type

    - Venue Type

- int group

    - Venue Group

- [SecMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv47SecMode) mode

    - Security mode

- [SecAuth](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv47SecAuth) auth

    - Authorization method

- [SecEncrypt](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv410SecEncrypt) encrypt

    - Encryption method

- bool isEnabled

    - 

- bool isInterworkingEnabled

    - Interworking Service enablement

- [NetAccessType](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv413NetAccessType) netAccessType

    - Network Access Type

- bool internet

    - Whether network provide connectivity to internet

- bool asra

    - Additional step required for access

- bool esr

    - Emergency services reachable

- bool uesa

    - Unauthenticated emergency service accessible

- uint8\_t venueGroup

    - Venue group

- uint8\_t venueType

    - Venue type

- std::string hessid

    - Homogeneous ESS identifier

- std::string vendorElements

    - Vendor elements for Beacon and Probe Response frames

- std::string assocRespElements

    - Vendor elements for (Re)Association Response frames

- ApInfo info

    - AP type

- std::string ssid

    - SSID for AP

- bool isVisible

    - AP broadcast SSID

- ApElementInfoConfig elementInfoConfig

    - AP broadcast it’s capabilities (Such as CarPlay)

- [ApInterworking](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv414ApInterworking) interworking

    - AP network access (internet/local)

- ApSecurity apSecurity

    - AP Security settings

- std::string passPhrase

    - Passphrase for SSID used

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) id

    - AP id

- ApVenueInfo venue

    - AP venue info

- std::vector&lt;ApNetConfig&gt; network

    - Configurations supported by AP

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) id

    - AP id device is connected to

- std::string macAddress

    - MAC Address of Wi-Fi device

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) id

    - AP id device is connected to

- std::string name

    - User friendly string that identifies Wi-Fi device

- std::string ipv4Address

    - IPv4 Address of Wi-Fi device

- std::vector&lt;std::string&gt; ipv6Address

    - List of IPv6 Addresses of Wi-Fi device

- std::string macAddress

    - MAC Address of Wi-Fi device

- struct ApVenueInfo

    - Wlan AP Venue Info as defined in IEEE Std 802.11u-2011, 7.3.1.34

Public Members

- int type

    - Venue Type

- int group

    - Venue Group

- struct ApSecurity

    - AP Security

Public Members

- [SecMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1gab2aa1698ed0dc59809ada201d0a36f8b.html#_CPPv4N5telux4wlan7SecModeE) mode

    - Security mode

- [SecAuth](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1ga72eae5273be24a343c01d1a73d98d8ff.html#_CPPv4N5telux4wlan7SecAuthE) auth

    - Authorization method

- [SecEncrypt](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1ga7d297ee003e3d7bb1fe45b62b6df52af.html#_CPPv4N5telux4wlan10SecEncryptE) encrypt

    - Encryption method

- struct ApElementInfoConfig

    - AP Element Info

Public Members

- bool isEnabled

    - 

- bool isInterworkingEnabled

    - Interworking Service enablement

- [NetAccessType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1ga23bae2436a6ee5e4f5f94bae3c5a4577.html#_CPPv4N5telux4wlan13NetAccessTypeE) netAccessType

    - Network Access Type

- bool internet

    - Whether network provide connectivity to internet

- bool asra

    - Additional step required for access

- bool esr

    - Emergency services reachable

- bool uesa

    - Unauthenticated emergency service accessible

- uint8\_t venueGroup

    - Venue group

- uint8\_t venueType

    - Venue type

- std::string hessid

    - Homogeneous ESS identifier

- std::string vendorElements

    - Vendor elements for Beacon and Probe Response frames

- std::string assocRespElements

    - Vendor elements for (Re)Association Response frames

- struct ApNetConfig

    - Ap Network Configuration

Public Members

- [ApInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv4N5telux4wlan6ApInfoE) info

    - AP type

- std::string ssid

    - SSID for AP

- bool isVisible

    - AP broadcast SSID

- [ApElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan19ApElementInfoConfigE) elementInfoConfig

    - AP broadcast it’s capabilities (Such as CarPlay)

- [ApInterworking](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1ga6c955c731cd04d3968a52f0c5a72a153.html#_CPPv4N5telux4wlan14ApInterworkingE) interworking

    - AP network access (internet/local)

- [ApSecurity](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan10ApSecurityE) apSecurity

    - AP Security settings

- std::string passPhrase

    - Passphrase for SSID used

- struct ApConfig

    - Ap Configuration

Public Members

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) id

    - AP id

- [ApVenueInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan11ApVenueInfoE) venue

    - AP venue info

- std::vector&lt;[ApNetConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan11ApNetConfigE)&gt; network

    - Configurations supported by AP

- struct DeviceIndInfo

    - Wlan Client Device Indication Info

Public Members

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) id

    - AP id device is connected to

- std::string macAddress

    - MAC Address of Wi-Fi device

- struct DeviceInfo

    - Wlan Client Device Info

Public Members

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) id

    - AP id device is connected to

- std::string name

    - User friendly string that identifies Wi-Fi device

- std::string ipv4Address

    - IPv4 Address of Wi-Fi device

- std::vector&lt;std::string&gt; ipv6Address

    - List of IPv6 Addresses of Wi-Fi device

- std::string macAddress

    - MAC Address of Wi-Fi device

- class IApInterfaceManager

    - Manager class for configuring Wlan Access Points.

Public Functions

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setConfig([ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan8ApConfigE) config) = 0

    - Set Access Point config: Used to fully configure access points including venue type, radio type (2.4/5/6 GHz), private/guest network and all other related settings. Configurations will take effect after hostapd service is restarted by calling [telux::wlan::IApInterfaceManager::manageApService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga1b88ea91e52335890b87e63a946e5446).

The primary access point, identified by telux::wlan::Id::PRIMARY, has specific configuration restrictions. It can only be configured with the following attributes: telux::wlan::ApType::PRIVATE and telux::wlan::ApInterworking::FULL\_ACCESS. In contrast, all other access points are expected to be configured with telux::wlan::ApType::GUEST.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - **config** – **[in]** AP configuration parameters [telux::wlan::ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00784)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d) telux::common::ErrorCode::INVALID\_ARG is returned if AP to be configured was not enabled in telux::wlan::WlanDeviceManager::setMode.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setSecurityConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, [ApSecurity](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan10ApSecurityE) apSecurity) = 0

    - Set Wlan Security Configuration: Used to change security settings of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set security for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **apSecurity** – **[in]** AP security settings. [telux::wlan::ApSecurity](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00780)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setSsid([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, std::string ssid) = 0

    - Set Access Point SSID: Used to change SSID of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set SSID for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **ssid** – **[in]** new SSID to be set

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setVisibility([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, bool isVisible) = 0

    - Set Access Point visibility: Used to change SSID broadcast of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set SSID visibility for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **isVisible** – **[in]** Visibility to be set

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setElementInfoConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, [ApElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan19ApElementInfoConfigE) config) = 0

    - Configure Element Info: Used to change element info configurations of selected network.

A successful response from this API indicates only that the input configuration has been stored. It does not validate the correctness or compliance of the provided values with IEEE 802.11 specifications.

The caller is responsible for ensuring that the values provided in [telux::wlan::ApElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00781) comply with applicable constraints and interdependencies as defined in the IEEE 802.11 standard.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to enable element info on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **config** – **[in]** Element Info configurations.

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setPassPhrase([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, std::string passPhrase) = 0

    - Set Passphrase for Access Point: Used to change passphrase of selected network.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to set passphrase for. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **passPhrase** – **[in]** new passPhrase string

- Returns:

    - Immediate status of [setPassPhrase()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2560fafc9599c264c80fddb2e211d0df) request i.e. success or suitable status.

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConfig(std::vector&lt;[ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan8ApConfigE)&gt; &config) = 0

    - Request Access Point Configurations

When using any configuration update API such as [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8), [telux::wlan::IApInterfaceManager::setSecurityConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga321cedab59d518f833a151d656e14661), [telux::wlan::IApInterfaceManager::setSsid](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga8e4d59bab884692e12cbcb289278c744), [telux::wlan::IApInterfaceManager::setVisibility](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga7d4e14bb138c269cd25a841b401bbcd1), [telux::wlan::IApInterfaceManager::setElementInfoConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1gaf339218d1d391746f86ec2322f5d644e), or [telux::wlan::IApInterfaceManager::setPassPhrase](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2560fafc9599c264c80fddb2e211d0df), it is essential to wait for the [telux::wlan::IApListener::onApConfigChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1gabcc3797182fdc8408fc72a1255f3db61) notification before invoking [getConfig()](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga07c033e489a3b848fb350b071c615e8b). This ensures that all configuration changes have been fully applied and synchronised internally.

- Parameters:

    - **config** – **[in]** Vector of AP configurations [telux::wlan::ApConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00784) as set by [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getStatus(std::vector&lt;[ApStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv4N5telux4wlan8ApStatusE)&gt; &status) = 0

    - Request AP Status

- Parameters:

    - **status** – **[in]** Vector of AP network Status [telux::wlan::ApStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00798)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConnectedDevices(std::vector&lt;[DeviceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan10DeviceInfoE)&gt; &clientsInfo) = 0

    - Requests the list of connected devices across all enabled access points. Each entry in the returned list provides details about a device, including the access point it is connected to, as well as its IP and MAC addresses, as defined in [telux::wlan::DeviceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00786).

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_DEVICES permission to invoke this API successfully.

- Parameters:

    - **clientsInfo** – **[in]** List of connected devices Info [telux::wlan::DeviceInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00786)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) manageApService([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId, [ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1gaee560caa8503ffc2f71b0cdea602592f.html#_CPPv4N5telux4wlan16ServiceOperationE) opr) = 0

    - Execute an operation on hostapd service. Provides ability for client to either stop/start or restart hostapd service for selected access point. Restarting hostapd service is required for any changes made to hostapd.conf file and changes made by [telux::wlan::IApInterfaceManager::setConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga172bd40641526e7e592cea84312c59e8) to take effect. Stop/Start operation [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f) will Stop/Start WiFi service for access point. Access points selected to execute operation on, will temporarily go out of service when this API is called. This API should be called only when access point is configured using telux::wlan::IDeviceManager::setMode.

On platforms with Access control enabled, Caller needs to have TELUX\_WLAN\_AP\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **apId** – **[in]** AP identifier to execute operation on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **opr** – **[in]** Operation to be performed on hostapd [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) registerListener(std::weak\_ptr&lt;[IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00778.html#_CPPv4N5telux4wlan11IApListenerE)&gt; listener) = 0

    - Register a listener for specific events in Access Point Manager

- Parameters:

    - **listener** – **[in]** pointer of [IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00778) object that processes the notification

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) deregisterListener(std::weak\_ptr&lt;[IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00778.html#_CPPv4N5telux4wlan11IApListenerE)&gt; listener) = 0

    - Removes a previously added listener.

- Parameters:

    - **listener** – **[in]** pointer of [IApListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00778) object that needs to be removed

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d)

- inline virtual ~IApInterfaceManager()

    -

- class IApListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ISDKListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00046.html#_CPPv4N5telux6common12ISDKListenerE)

    - Public Functions

- inline virtual void onApDeviceStatusChanged([ApDeviceConnectionEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00002_1ga2809454a5806eff65f67f256ef684962.html#_CPPv4N5telux4wlan23ApDeviceConnectionEventE) event, std::vector&lt;[DeviceIndInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/access_point_management.html#_CPPv4N5telux4wlan13DeviceIndInfoE)&gt; info)

    - This function is called when AP device status has changed

- Parameters:

    - - **event** – **[in]** Event detected on device [telux::wlan::ApDeviceConnectionEvent](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00002_1ga2809454a5806eff65f67f256ef684962)
- **info** – **[in]** Info about devices [telux::wlan::DeviceIndInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00785)

- inline virtual void onApBandChanged([BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga6880eb6b46f211d4e68f217e977f5bde.html#_CPPv4N5telux4wlan8BandTypeE) radio)

    - This function is called when AP switch to different operation band

- Parameters:

    - **radio** – **[in]** New AP operation band [telux::wlan::BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga6880eb6b46f211d4e68f217e977f5bde)

- inline virtual void onApConfigChanged([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) apId)

    - This function is called when AP configuration has changed

- Parameters:

    - **apid** – **[in]** [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef) of Ap it’s configuration has changed

- inline virtual ~IApListener()

    -

Last Published: Apr 14, 2026

[Previous Topic
telux::wlan::WlanFactory](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/wlan_device_management.md) [Next Topic
Station management](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/station_management.md)