### Class

# Ide DeviceProvider

#### Description

    abstract class Ide.DeviceProvider : Ide.Object {
      parent_instance: IdeObject
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Instance methods

###### ide_device_provider_emit_device_added

Emits the `IdeDeviceProvider::device-added` signal.

Available since: 3.32

###### ide_device_provider_emit_device_removed

Emits the `IdeDeviceProvider::device-removed` signal.

Available since: 3.32

###### ide_device_provider_get_devices

Gets a new `GPtrArray` containing a list of `IdeDevice` instances that were registered by the `IdeDeviceProvider`.

Available since: 3.32

###### ide_device_provider_load_async

Requests that the `IdeDeviceProvider` asynchronously load any known devices.

Available since: 3.32

###### ide_device_provider_load_finish

Completes an asynchronous request to load known devices via ide_device_provider_load_async().

Available since: 3.32

##### Methods inherited from IdeObject (28)

Please see IdeObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

##### Properties inherited from IdeObject (2)

###### Ide.Object:cancellable

The “cancellable” property is a `GCancellable` that can be used by operations that will be cancelled when the `IdeObject::destroy` signal is emitted on `self`.

Available since: 3.32

###### Ide.Object:parent

The parent `IdeObject`, if any.

Available since: 3.32

#### Signals

###### Ide.DeviceProvider::device-added

The “device-added” signal is emitted when a provider has discovered a device has become available.

Available since: 3.32

###### Ide.DeviceProvider::device-removed

The “device-removed” signal is emitted when a provider has discovered a device is no longer available.

Available since: 3.32

##### Signals inherited from IdeObject (1)

###### Ide.Object::destroy

The “destroy” signal is emitted when the object should destroy itself and cleanup any state that is no longer necessary. This happens when the object has been removed from the because it was requested to be destroyed, or because a parent object is being destroyed.

Available since: 3.32

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct IdeDeviceProviderClass {
      IdeObjectClass parent_class;
      void (* device_added) (
        IdeDeviceProvider* self,
        IdeDevice* device
      );
      void (* device_removed) (
        IdeDeviceProvider* self,
        IdeDevice* device
      );
      void (* load_async) (
        IdeDeviceProvider* self,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* load_finish) (
        IdeDeviceProvider* self,
        GAsyncResult* result,
        GError** error
      );

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.
`device_added` |
    void (* device_added) (
        IdeDeviceProvider* self,
        IdeDevice* device
      )
| No description available.
`device_removed` |
    void (* device_removed) (
        IdeDeviceProvider* self,
        IdeDevice* device
      )
| No description available.
`load_async` |
    void (* load_async) (
        IdeDeviceProvider* self,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`load_finish` |
    gboolean (* load_finish) (
        IdeDeviceProvider* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.DeviceProviderClass.device_added

No description available.

###### Ide.DeviceProviderClass.device_removed

No description available.

###### Ide.DeviceProviderClass.load_async

Requests that the `IdeDeviceProvider` asynchronously load any known devices.

Available since: 3.32

###### Ide.DeviceProviderClass.load_finish

Completes an asynchronous request to load known devices via ide_device_provider_load_async().

Available since: 3.32