### Method

# FwupdPlugin Device open

#### Declaration [src]

    gboolean
    fu_device_open (
      FuDevice* self
      GError** error
    )

#### Description [src]

Opens a device, optionally running a object-specific vfunc.

Plugins can call `fu_device_open()` multiple times without calling fu_device_close(), but only the first call will actually invoke the vfunc.

It is expected that plugins issue the same number of `fu_device_open()` and `fu_device_close()` methods when using a specific `self`.

If the `->probe()`, `->open()` and `->setup()` actions all complete successfully the internal device flag `FU_DEVICE_PRIVATE_FLAG_IS_OPEN` will be set.

NOTE: It is important to still call `fu_device_close()` even if this function fails as the device may still be partially initialized.

Available since: | 1.1.2

#### Return value

Returns: | `gboolean`
| `TRUE` for success.