## NMDeviceWifi NMDeviceWifi |

## Synopsis

    #define             NM_DEVICE_WIFI_HW_ADDRESS
    #define             NM_DEVICE_WIFI_PERMANENT_HW_ADDRESS
    #define             NM_DEVICE_WIFI_MODE
    #define             NM_DEVICE_WIFI_BITRATE
    #define             NM_DEVICE_WIFI_ACTIVE_ACCESS_POINT
    #define             NM_DEVICE_WIFI_CAPABILITIES
    #define             NM_DEVICE_WIFI_ACCESS_POINTS
    struct              NMDeviceWifi;
                        NMDeviceWifiClass;
    const char *        nm_device_wifi_get_hw_address       (NMDeviceWifi *device);
    const char *        nm_device_wifi_get_permanent_hw_address
                                                            (NMDeviceWifi *device);
    NM80211Mode         nm_device_wifi_get_mode             (NMDeviceWifi *device);
    guint32             nm_device_wifi_get_bitrate          (NMDeviceWifi *device);
    NMDeviceWifiCapabilities nm_device_wifi_get_capabilities
                                                            (NMDeviceWifi *device);
    NMAccessPoint *     nm_device_wifi_get_active_access_point
                                                            (NMDeviceWifi *device);
    NMAccessPoint *     nm_device_wifi_get_access_point_by_path
                                                            (NMDeviceWifi *device,
                                                             const char *path);
    const GPtrArray *   nm_device_wifi_get_access_points    (NMDeviceWifi *device);
    gboolean            nm_device_wifi_request_scan         (NMDeviceWifi *device,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                nm_device_wifi_request_scan_async   (NMDeviceWifi *device,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            nm_device_wifi_request_scan_finish  (NMDeviceWifi *device,
                                                             GAsyncResult *result,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----NMObject
             +----NMDevice
                   +----NMDeviceWifi

## Implemented Interfaces

NMDeviceWifi implements GInitable and GAsyncInitable.

## Properties

      "access-points"            GPtrArray*            : Read
      "active-access-point"      NMAccessPoint*        : Read
      "bitrate"                  guint                 : Read
      "hw-address"               gchar*                : Read
      "mode"                     NM80211Mode           : Read
      "perm-hw-address"          gchar*                : Read
      "wireless-capabilities"    NMDeviceWifiCapabilities  : Read

## Signals

      "access-point-added"                             : Run First
      "access-point-removed"                           : Run First

## Description

## Details

### NM_DEVICE_WIFI_HW_ADDRESS

    #define NM_DEVICE_WIFI_HW_ADDRESS          "hw-address"

### NM_DEVICE_WIFI_PERMANENT_HW_ADDRESS

    #define NM_DEVICE_WIFI_PERMANENT_HW_ADDRESS "perm-hw-address"

### NM_DEVICE_WIFI_MODE

    #define NM_DEVICE_WIFI_MODE                "mode"

### NM_DEVICE_WIFI_BITRATE

    #define NM_DEVICE_WIFI_BITRATE             "bitrate"

### NM_DEVICE_WIFI_ACTIVE_ACCESS_POINT

    #define NM_DEVICE_WIFI_ACTIVE_ACCESS_POINT "active-access-point"

### NM_DEVICE_WIFI_CAPABILITIES

    #define NM_DEVICE_WIFI_CAPABILITIES        "wireless-capabilities"

### NM_DEVICE_WIFI_ACCESS_POINTS

    #define NM_DEVICE_WIFI_ACCESS_POINTS       "access-points"

### struct NMDeviceWifi

    struct NMDeviceWifi;

### NMDeviceWifiClass

    typedef struct {
    	NMDeviceClass parent;

    	/* Signals */
    	void (*access_point_added) (NMDeviceWifi *device, NMAccessPoint *ap);
    	void (*access_point_removed) (NMDeviceWifi *device, NMAccessPoint *ap);
    } NMDeviceWifiClass;

### nm_device_wifi_get_hw_address ()

    const char *        nm_device_wifi_get_hw_address       (NMDeviceWifi *device);

Gets the actual hardware (MAC) address of the NMDeviceWifi

`device` : | a NMDeviceWifi
Returns : | the actual hardware address. This is the internal string used by the device, and must not be modified.

### nm_device_wifi_get_permanent_hw_address ()

    const char *        nm_device_wifi_get_permanent_hw_address
                                                            (NMDeviceWifi *device);

Gets the permanent hardware (MAC) address of the NMDeviceWifi

`device` : | a NMDeviceWifi
Returns : | the permanent hardware address. This is the internal string used by the device, and must not be modified.

### nm_device_wifi_get_mode ()

    NM80211Mode         nm_device_wifi_get_mode             (NMDeviceWifi *device);

Gets the NMDeviceWifi mode.

`device` : | a NMDeviceWifi
Returns : | the mode

### nm_device_wifi_get_bitrate ()

    guint32             nm_device_wifi_get_bitrate          (NMDeviceWifi *device);

Gets the bit rate of the NMDeviceWifi in kbit/s.

`device` : | a NMDeviceWifi
Returns : | the bit rate (kbit/s)

### nm_device_wifi_get_capabilities ()

    NMDeviceWifiCapabilities nm_device_wifi_get_capabilities
                                                            (NMDeviceWifi *device);

Gets the Wi-Fi capabilities of the NMDeviceWifi.

`device` : | a NMDeviceWifi
Returns : | the capabilities

### nm_device_wifi_get_active_access_point ()

    NMAccessPoint *     nm_device_wifi_get_active_access_point
                                                            (NMDeviceWifi *device);

Gets the active NMAccessPoint.

`device` : | a NMDeviceWifi
Returns : | the access point or `NULL` if none is active. [transfer none]

### nm_device_wifi_get_access_point_by_path ()

    NMAccessPoint *     nm_device_wifi_get_access_point_by_path
                                                            (NMDeviceWifi *device,
                                                             const char *path);

Gets a NMAccessPoint by path.

`device` : | a NMDeviceWifi
`path` : | the object path of the access point
Returns : | the access point or `NULL` if none is found. [transfer none]

### nm_device_wifi_get_access_points ()

    const GPtrArray *   nm_device_wifi_get_access_points    (NMDeviceWifi *device);

Gets all the scanned access points of the NMDeviceWifi.

`device` : | a NMDeviceWifi
Returns : | a GPtrArray containing all the scanned NMAccessPoints. The returned array is owned by the client and should not be modified. [element-type NMAccessPoint]

### nm_device_wifi_request_scan ()

    gboolean            nm_device_wifi_request_scan         (NMDeviceWifi *device,
                                                             GCancellable *cancellable,
                                                             GError **error);

Request NM to scan for access points on `device`. Note that the function returns immediately after requesting the scan, and it may take some time after that for the scan to complete.

`device` : | a NMDeviceWifi
`cancellable` : | a GCancellable, or `NULL`
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

### nm_device_wifi_request_scan_async ()

    void                nm_device_wifi_request_scan_async   (NMDeviceWifi *device,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Request NM to scan for access points on `device`. Note that `callback` will be called immediately after requesting the scan, and it may take some time after that for the scan to complete.

`device` : | a NMDeviceWifi
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to be called when the scan has been requested
`user_data` : | caller-specific data passed to `callback`

### nm_device_wifi_request_scan_finish ()

    gboolean            nm_device_wifi_request_scan_finish  (NMDeviceWifi *device,
                                                             GAsyncResult *result,
                                                             GError **error);

Gets the result of a call to `nm_device_wifi_request_scan_async()`.

`device` : | a NMDeviceWifi
`result` : | the result passed to the GAsyncReadyCallback
`error` : | location for a GError, or `NULL`
Returns : | `TRUE` on success, `FALSE` on error, in which case `error` will be set.

## Property Details

### The `"access-points"` property

      "access-points"            GPtrArray*            : Read

List of all Wi-Fi access points the device can see.

Element-type: NMAccessPoint

### The `"active-access-point"` property

      "active-access-point"      NMAccessPoint*        : Read

The active NMAccessPoint of the device.

### The `"bitrate"` property

      "bitrate"                  guint                 : Read

The bit rate of the device in kbit/s.

Default value: 0

### The `"hw-address"` property

      "hw-address"               gchar*                : Read

The hardware (MAC) address of the device.

Default value: NULL

### The `"mode"` property

      "mode"                     NM80211Mode           : Read

The mode of the device.

Default value: NM_802_11_MODE_UNKNOWN

### The `"perm-hw-address"` property

      "perm-hw-address"          gchar*                : Read

The hardware (MAC) address of the device.

Default value: NULL

### The `"wireless-capabilities"` property

      "wireless-capabilities"    NMDeviceWifiCapabilities  : Read

The wireless capabilities of the device.

## Signal Details

### The `"access-point-added"` signal

    void                user_function                      (NMDeviceWifi *device,
                                                            GObject      *ap,
                                                            gpointer      user_data)      : Run First

Notifies that a NMAccessPoint is added to the Wi-Fi device.

`device` : | the Wi-Fi device that received the signal
`ap` : | the new access point
`user_data` : | user data set when the signal handler was connected.

### The `"access-point-removed"` signal

    void                user_function                      (NMDeviceWifi *device,
                                                            GObject      *ap,
                                                            gpointer      user_data)      : Run First

Notifies that a NMAccessPoint is removed from the Wi-Fi device.

`device` : | the Wi-Fi device that received the signal
`ap` : | the removed access point
`user_data` : | user data set when the signal handler was connected.