## NMDeviceBond NMDeviceBond |

## Synopsis

    enum                NMDeviceBondError;
    #define             NM_DEVICE_BOND_ERROR
    GQuark              nm_device_bond_error_quark          (void);
    #define             NM_DEVICE_BOND_HW_ADDRESS
    #define             NM_DEVICE_BOND_CARRIER
    #define             NM_DEVICE_BOND_SLAVES
                        NMDeviceBond;
                        NMDeviceBondClass;
    GObject *           nm_device_bond_new                  (DBusGConnection *connection,
                                                             const char *path);
    const char *        nm_device_bond_get_hw_address       (NMDeviceBond *device);
    gboolean            nm_device_bond_get_carrier          (NMDeviceBond *device);
    const GPtrArray *   nm_device_bond_get_slaves           (NMDeviceBond *device);

## Object Hierarchy

      GObject
       +----NMObject
             +----NMDevice
                   +----NMDeviceBond

## Implemented Interfaces

NMDeviceBond implements GInitable and GAsyncInitable.

## Properties

      "carrier"                  gboolean              : Read
      "hw-address"               gchar*                : Read
      "slaves"                   NMObjectArray*        : Read

## Description

## Details

### enum NMDeviceBondError

    typedef enum {
    	NM_DEVICE_BOND_ERROR_UNKNOWN = 0,             /*< nick=UnknownError >*/
    	NM_DEVICE_BOND_ERROR_NOT_BOND_CONNECTION,     /*< nick=NotBondConnection >*/
    	NM_DEVICE_BOND_ERROR_INVALID_BOND_CONNECTION, /*< nick=InvalidBondConnection >*/
    	NM_DEVICE_BOND_ERROR_INTERFACE_MISMATCH,      /*< nick=InterfaceMismatch >*/
    } NMDeviceBondError;

`NM_DEVICE_BOND_ERROR_UNKNOWN` | unknown or unclassified error
`NM_DEVICE_BOND_ERROR_NOT_BOND_CONNECTION` | the connection was not of bond type
`NM_DEVICE_BOND_ERROR_INVALID_BOND_CONNECTION` | the bond connection was invalid
`NM_DEVICE_BOND_ERROR_INTERFACE_MISMATCH` | the interfaces of the connection and the device mismatched

### NM_DEVICE_BOND_ERROR

    #define NM_DEVICE_BOND_ERROR nm_device_bond_error_quark ()

### nm_device_bond_error_quark ()

    GQuark              nm_device_bond_error_quark          (void);

Registers an error quark for NMDeviceBond if necessary.

Returns : | the error quark used for NMDeviceBond errors.

### NM_DEVICE_BOND_HW_ADDRESS

    #define NM_DEVICE_BOND_HW_ADDRESS  "hw-address"

### NM_DEVICE_BOND_CARRIER

    #define NM_DEVICE_BOND_CARRIER     "carrier"

### NM_DEVICE_BOND_SLAVES

    #define NM_DEVICE_BOND_SLAVES      "slaves"

### NMDeviceBond

    typedef struct _NMDeviceBond NMDeviceBond;

### NMDeviceBondClass

    typedef struct {
    	NMDeviceClass parent;

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

### nm_device_bond_new ()

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

Creates a new NMDeviceBond.

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

### nm_device_bond_get_hw_address ()

    const char *        nm_device_bond_get_hw_address       (NMDeviceBond *device);

Gets the hardware (MAC) address of the NMDeviceBond

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

### nm_device_bond_get_carrier ()

    gboolean            nm_device_bond_get_carrier          (NMDeviceBond *device);

Whether the device has carrier.

`device` : | a NMDeviceBond
Returns : | `TRUE` if the device has carrier

### nm_device_bond_get_slaves ()

    const GPtrArray *   nm_device_bond_get_slaves           (NMDeviceBond *device);

Gets the devices currently slaved to `device`.

`device` : | a NMDeviceBond
Returns : | the GPtrArray containing NMDevices that are slaves of `device`. This is the internal copy used by the device, and must not be modified. [element-type NMClient.Device]

Since 0.9.6.4

## Property Details

### The `"carrier"` property

      "carrier"                  gboolean              : Read

Whether the device has carrier.

Default value: FALSE

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

      "hw-address"               gchar*                : Read

The hardware (MAC) address of the device.

Default value: NULL

### The `"slaves"` property

      "slaves"                   NMObjectArray*        : Read

The devices (NMDevice) slaved to the bond device.

Since 0.9.8