## NMDeviceWifi

NMDeviceWifi

## Synopsis

    enum                NMDeviceWifiError;
    #define             NM_DEVICE_WIFI_ERROR
    GQuark              nm_device_wifi_error_quark          (void);
    #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
                        NMDeviceWifi;
                        NMDeviceWifiClass;
    GObject *           nm_device_wifi_new                  (DBusGConnection *connection,
                                                             const char *path);
    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);
    void                (*NMDeviceWifiRequestScanFn)        (NMDeviceWifi *device,
                                                             GError *error,
                                                             gpointer user_data);
    void                nm_device_wifi_request_scan_simple  (NMDeviceWifi *device,
                                                             NMDeviceWifiRequestScanFn callback,
                                                             gpointer user_data);

## Object Hierarchy

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

## Implemented Interfaces

NMDeviceWifi implements GInitable and GAsyncInitable.

## Properties

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

## Signals

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

## Description

## Details

### enum NMDeviceWifiError

    typedef enum {
    	NM_DEVICE_WIFI_ERROR_UNKNOWN = 0,             /*< nick=UnknownError >*/
    	NM_DEVICE_WIFI_ERROR_NOT_WIFI_CONNECTION,     /*< nick=NotWifiConnection >*/
    	NM_DEVICE_WIFI_ERROR_INVALID_WIFI_CONNECTION, /*< nick=InvalidWifiConnection >*/
    	NM_DEVICE_WIFI_ERROR_INVALID_DEVICE_MAC,      /*< nick=InvalidDeviceMac >*/
    	NM_DEVICE_WIFI_ERROR_MAC_MISMATCH,            /*< nick=MacMismatch >*/
    	NM_DEVICE_WIFI_ERROR_MISSING_DEVICE_WPA_CAPS, /*< nick=MissingDeviceWpaCaps >*/
    	NM_DEVICE_WIFI_ERROR_MISSING_DEVICE_RSN_CAPS, /*< nick=MissingDeviceRsnCaps >*/
    } NMDeviceWifiError;

`NM_DEVICE_WIFI_ERROR_UNKNOWN` | unknown or unclassified error
`NM_DEVICE_WIFI_ERROR_NOT_WIFI_CONNECTION` | the connection was not of Wi-Fi type
`NM_DEVICE_WIFI_ERROR_INVALID_WIFI_CONNECTION` | the Wi-Fi connection was invalid
`NM_DEVICE_WIFI_ERROR_INVALID_DEVICE_MAC` | the device's MAC was invalid
`NM_DEVICE_WIFI_ERROR_MAC_MISMATCH` | the MACs of the connection and the device mismatched
`NM_DEVICE_WIFI_ERROR_MISSING_DEVICE_WPA_CAPS` | the device missed WPA capabilities required by the connection
`NM_DEVICE_WIFI_ERROR_MISSING_DEVICE_RSN_CAPS` | the device missed RSN capabilities required by the connection

### NM_DEVICE_WIFI_ERROR

    #define NM_DEVICE_WIFI_ERROR nm_device_wifi_error_quark ()

### nm_device_wifi_error_quark ()

    GQuark              nm_device_wifi_error_quark          (void);

Registers an error quark for NMDeviceWifi if necessary.

Returns : | the error quark used for NMDeviceWifi errors.

### 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"

### NMDeviceWifi

    typedef struct _NMDeviceWifi NMDeviceWifi;

### NMDeviceWifiClass

    typedef struct {
    	NMDeviceClass parent;

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

    	/* Padding for future expansion */
    	void (*_reserved1) (void);
    	void (*_reserved2) (void);
    	void (*_reserved3) (void);
    	void (*_reserved4) (void);
    	void (*_reserved5) (void);
    	void (*_reserved6) (void);
    } NMDeviceWifiClass;

### nm_device_wifi_new ()

    GObject *           nm_device_wifi_new                  (DBusGConnection *connection,
                                                             const char *path);

Creates a new NMDeviceWifi.

`connection` : | the DBusGConnection
`path` : | the DBus object path of the device
Returns : | a new WiFi device. [transfer full]

### 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.

`device` : | a NMDeviceWifi
Returns : | the bit rate

### nm_device_wifi_get_capabilities ()

    NMDeviceWifiCapabilities nm_device_wifi_get_capabilities
                                                            (NMDeviceWifi *device);

Gets the WIFI 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 NMClient.AccessPoint]

### NMDeviceWifiRequestScanFn ()

    void                (*NMDeviceWifiRequestScanFn)        (NMDeviceWifi *device,
                                                             GError *error,
                                                             gpointer user_data);

### nm_device_wifi_request_scan_simple ()

    void                nm_device_wifi_request_scan_simple  (NMDeviceWifi *device,
                                                             NMDeviceWifiRequestScanFn callback,
                                                             gpointer user_data);

Request NM to scan for access points on the NMDeviceWifi. This function only instructs NM to perform scanning. Use `nm_device_wifi_get_access_points()` to get available access points.

`device` : | a NMDeviceWifi
`callback` : | the function to call when the call is done. [scope async][allow-none]
`user_data` : | user data to pass to the callback function. [closure]

Since 0.9.8

## Property Details

### 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.

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"                     guint                 : Read

The mode of the device.

Allowed values: <= 3

Default value: 2

### 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"    guint                 : Read

The wireless capabilities of the device.

Default value: 0

## 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 wifi device.

`device` : | the wifi 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 wifi device.

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