## UDisksDrive UDisksDrive — Generated C code for the org.freedesktop.UDisks2.Drive D-Bus interface |

## Synopsis

                        UDisksDrive;
    struct              UDisksDriveIface;
    GDBusInterfaceInfo * udisks_drive_interface_info        (void);
    guint               udisks_drive_override_properties    (GObjectClass *klass,
                                                             guint property_id_begin);
    void                udisks_drive_call_eject             (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            udisks_drive_call_eject_finish      (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            udisks_drive_call_eject_sync        (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                udisks_drive_complete_eject         (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);
    void                udisks_drive_call_set_configuration (UDisksDrive *proxy,
                                                             GVariant *arg_value,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            udisks_drive_call_set_configuration_finish
                                                            (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            udisks_drive_call_set_configuration_sync
                                                            (UDisksDrive *proxy,
                                                             GVariant *arg_value,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                udisks_drive_complete_set_configuration
                                                            (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);
    void                udisks_drive_call_power_off         (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            udisks_drive_call_power_off_finish  (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            udisks_drive_call_power_off_sync    (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                udisks_drive_complete_power_off     (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);
    const gchar *       udisks_drive_get_connection_bus     (UDisksDrive *object);
    gboolean            udisks_drive_get_removable          (UDisksDrive *object);
    gboolean            udisks_drive_get_ejectable          (UDisksDrive *object);
    const gchar *       udisks_drive_get_seat               (UDisksDrive *object);
    const gchar *       udisks_drive_get_media              (UDisksDrive *object);
    const gchar *const * udisks_drive_get_media_compatibility
                                                            (UDisksDrive *object);
    gboolean            udisks_drive_get_media_removable    (UDisksDrive *object);
    gboolean            udisks_drive_get_media_available    (UDisksDrive *object);
    gboolean            udisks_drive_get_media_change_detected
                                                            (UDisksDrive *object);
    guint64             udisks_drive_get_time_detected      (UDisksDrive *object);
    guint64             udisks_drive_get_time_media_detected
                                                            (UDisksDrive *object);
    guint64             udisks_drive_get_size               (UDisksDrive *object);
    gboolean            udisks_drive_get_optical            (UDisksDrive *object);
    gboolean            udisks_drive_get_optical_blank      (UDisksDrive *object);
    guint               udisks_drive_get_optical_num_tracks (UDisksDrive *object);
    guint               udisks_drive_get_optical_num_audio_tracks
                                                            (UDisksDrive *object);
    guint               udisks_drive_get_optical_num_data_tracks
                                                            (UDisksDrive *object);
    guint               udisks_drive_get_optical_num_sessions
                                                            (UDisksDrive *object);
    const gchar *       udisks_drive_get_model              (UDisksDrive *object);
    const gchar *       udisks_drive_get_revision           (UDisksDrive *object);
    gint                udisks_drive_get_rotation_rate      (UDisksDrive *object);
    const gchar *       udisks_drive_get_serial             (UDisksDrive *object);
    const gchar *       udisks_drive_get_vendor             (UDisksDrive *object);
    const gchar *       udisks_drive_get_wwn                (UDisksDrive *object);
    const gchar *       udisks_drive_get_sort_key           (UDisksDrive *object);
    GVariant *          udisks_drive_get_configuration      (UDisksDrive *object);
    const gchar *       udisks_drive_get_id                 (UDisksDrive *object);
    gboolean            udisks_drive_get_can_power_off      (UDisksDrive *object);
    const gchar *       udisks_drive_get_sibling_id         (UDisksDrive *object);
    gchar *             udisks_drive_dup_connection_bus     (UDisksDrive *object);
    gchar *             udisks_drive_dup_seat               (UDisksDrive *object);
    gchar *             udisks_drive_dup_media              (UDisksDrive *object);
    gchar **            udisks_drive_dup_media_compatibility
                                                            (UDisksDrive *object);
    gchar *             udisks_drive_dup_model              (UDisksDrive *object);
    gchar *             udisks_drive_dup_revision           (UDisksDrive *object);
    gchar *             udisks_drive_dup_serial             (UDisksDrive *object);
    gchar *             udisks_drive_dup_vendor             (UDisksDrive *object);
    gchar *             udisks_drive_dup_wwn                (UDisksDrive *object);
    gchar *             udisks_drive_dup_sort_key           (UDisksDrive *object);
    GVariant *          udisks_drive_dup_configuration      (UDisksDrive *object);
    gchar *             udisks_drive_dup_id                 (UDisksDrive *object);
    gchar *             udisks_drive_dup_sibling_id         (UDisksDrive *object);
    void                udisks_drive_set_connection_bus     (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_removable          (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_ejectable          (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_seat               (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_media              (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_media_compatibility
                                                            (UDisksDrive *object,
                                                             const gchar *const *value);
    void                udisks_drive_set_media_removable    (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_media_available    (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_media_change_detected
                                                            (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_time_detected      (UDisksDrive *object,
                                                             guint64 value);
    void                udisks_drive_set_time_media_detected
                                                            (UDisksDrive *object,
                                                             guint64 value);
    void                udisks_drive_set_size               (UDisksDrive *object,
                                                             guint64 value);
    void                udisks_drive_set_optical            (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_optical_blank      (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_optical_num_tracks (UDisksDrive *object,
                                                             guint value);
    void                udisks_drive_set_optical_num_audio_tracks
                                                            (UDisksDrive *object,
                                                             guint value);
    void                udisks_drive_set_optical_num_data_tracks
                                                            (UDisksDrive *object,
                                                             guint value);
    void                udisks_drive_set_optical_num_sessions
                                                            (UDisksDrive *object,
                                                             guint value);
    void                udisks_drive_set_model              (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_revision           (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_rotation_rate      (UDisksDrive *object,
                                                             gint value);
    void                udisks_drive_set_serial             (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_vendor             (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_wwn                (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_sort_key           (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_configuration      (UDisksDrive *object,
                                                             GVariant *value);
    void                udisks_drive_set_id                 (UDisksDrive *object,
                                                             const gchar *value);
    void                udisks_drive_set_can_power_off      (UDisksDrive *object,
                                                             gboolean value);
    void                udisks_drive_set_sibling_id         (UDisksDrive *object,
                                                             const gchar *value);
    struct              UDisksDriveProxy;
    struct              UDisksDriveProxyClass;
    void                udisks_drive_proxy_new              (GDBusConnection *connection,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    UDisksDrive *       udisks_drive_proxy_new_finish       (GAsyncResult *res,
                                                             GError **error);
    UDisksDrive *       udisks_drive_proxy_new_sync         (GDBusConnection *connection,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                udisks_drive_proxy_new_for_bus      (GBusType bus_type,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    UDisksDrive *       udisks_drive_proxy_new_for_bus_finish
                                                            (GAsyncResult *res,
                                                             GError **error);
    UDisksDrive *       udisks_drive_proxy_new_for_bus_sync (GBusType bus_type,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GError **error);
    struct              UDisksDriveSkeleton;
    struct              UDisksDriveSkeletonClass;
    UDisksDrive *       udisks_drive_skeleton_new           (void);

## Object Hierarchy

      GInterface
       +----UDisksDrive

      GObject
       +----GDBusProxy
             +----UDisksDriveProxy

      GObject
       +----GDBusInterfaceSkeleton
             +----UDisksDriveSkeleton
                   +----UDisksLinuxDrive

## Prerequisites

UDisksDrive requires GObject.

## Implemented Interfaces

UDisksDriveProxy implements GDBusInterface, GInitable, GAsyncInitable and UDisksDrive.

UDisksDriveSkeleton implements GDBusInterface and UDisksDrive.

## Known Implementations

UDisksDrive is implemented by UDisksDriveProxy, UDisksDriveSkeleton and UDisksLinuxDrive.

## Properties

      "can-power-off"            gboolean              : Read / Write
      "configuration"            GVariant*             : Read / Write
      "connection-bus"           gchar*                : Read / Write
      "ejectable"                gboolean              : Read / Write
      "id"                       gchar*                : Read / Write
      "media"                    gchar*                : Read / Write
      "media-available"          gboolean              : Read / Write
      "media-change-detected"    gboolean              : Read / Write
      "media-compatibility"      GStrv                 : Read / Write
      "media-removable"          gboolean              : Read / Write
      "model"                    gchar*                : Read / Write
      "optical"                  gboolean              : Read / Write
      "optical-blank"            gboolean              : Read / Write
      "optical-num-audio-tracks" guint                 : Read / Write
      "optical-num-data-tracks"  guint                 : Read / Write
      "optical-num-sessions"     guint                 : Read / Write
      "optical-num-tracks"       guint                 : Read / Write
      "removable"                gboolean              : Read / Write
      "revision"                 gchar*                : Read / Write
      "rotation-rate"            gint                  : Read / Write
      "seat"                     gchar*                : Read / Write
      "serial"                   gchar*                : Read / Write
      "sibling-id"               gchar*                : Read / Write
      "size"                     guint64               : Read / Write
      "sort-key"                 gchar*                : Read / Write
      "time-detected"            guint64               : Read / Write
      "time-media-detected"      guint64               : Read / Write
      "vendor"                   gchar*                : Read / Write
      "wwn"                      gchar*                : Read / Write

## Signals

      "handle-eject"                                   : Run Last
      "handle-power-off"                               : Run Last
      "handle-set-configuration"                       : Run Last

## Description

This section contains code for working with the org.freedesktop.UDisks2.Drive D-Bus interface in C.

## Details

### UDisksDrive

    typedef struct _UDisksDrive UDisksDrive;

Abstract interface type for the D-Bus interface org.freedesktop.UDisks2.Drive.

### struct UDisksDriveIface

    struct UDisksDriveIface {
      GTypeInterface parent_iface;

      gboolean (*handle_eject) (
        UDisksDrive *object,
        GDBusMethodInvocation *invocation,
        GVariant *arg_options);

      gboolean (*handle_set_configuration) (
        UDisksDrive *object,
        GDBusMethodInvocation *invocation,
        GVariant *arg_value,
        GVariant *arg_options);

      GVariant * (*get_configuration) (UDisksDrive *object);

      const gchar * (*get_connection_bus) (UDisksDrive *object);

      gboolean  (*get_ejectable) (UDisksDrive *object);

      const gchar * (*get_id) (UDisksDrive *object);

      const gchar * (*get_media) (UDisksDrive *object);

      gboolean  (*get_media_available) (UDisksDrive *object);

      gboolean  (*get_media_change_detected) (UDisksDrive *object);

      const gchar *const * (*get_media_compatibility) (UDisksDrive *object);

      gboolean  (*get_media_removable) (UDisksDrive *object);

      const gchar * (*get_model) (UDisksDrive *object);

      gboolean  (*get_optical) (UDisksDrive *object);

      gboolean  (*get_optical_blank) (UDisksDrive *object);

      guint  (*get_optical_num_audio_tracks) (UDisksDrive *object);

      guint  (*get_optical_num_data_tracks) (UDisksDrive *object);

      guint  (*get_optical_num_sessions) (UDisksDrive *object);

      guint  (*get_optical_num_tracks) (UDisksDrive *object);

      gboolean  (*get_removable) (UDisksDrive *object);

      const gchar * (*get_revision) (UDisksDrive *object);

      gint  (*get_rotation_rate) (UDisksDrive *object);

      const gchar * (*get_seat) (UDisksDrive *object);

      const gchar * (*get_serial) (UDisksDrive *object);

      guint64  (*get_size) (UDisksDrive *object);

      const gchar * (*get_sort_key) (UDisksDrive *object);

      guint64  (*get_time_detected) (UDisksDrive *object);

      guint64  (*get_time_media_detected) (UDisksDrive *object);

      const gchar * (*get_vendor) (UDisksDrive *object);

      const gchar * (*get_wwn) (UDisksDrive *object);

      gboolean (*handle_power_off) (
        UDisksDrive *object,
        GDBusMethodInvocation *invocation,
        GVariant *arg_options);

      gboolean  (*get_can_power_off) (UDisksDrive *object);

      const gchar * (*get_sibling_id) (UDisksDrive *object);
    };

Virtual table for the D-Bus interface org.freedesktop.UDisks2.Drive.

GTypeInterface `parent_iface`; | The parent interface.
`handle_eject` () | Handler for the "handle-eject" signal.
`handle_set_configuration` () | Handler for the "handle-set-configuration" signal.
`get_configuration` () | Getter for the "configuration" property.
`get_connection_bus` () | Getter for the "connection-bus" property.
`get_ejectable` () | Getter for the "ejectable" property.
`get_id` () | Getter for the "id" property.
`get_media` () | Getter for the "media" property.
`get_media_available` () | Getter for the "media-available" property.
`get_media_change_detected` () | Getter for the "media-change-detected" property.
`get_media_compatibility` () | Getter for the "media-compatibility" property.
`get_media_removable` () | Getter for the "media-removable" property.
`get_model` () | Getter for the "model" property.
`get_optical` () | Getter for the "optical" property.
`get_optical_blank` () | Getter for the "optical-blank" property.
`get_optical_num_audio_tracks` () | Getter for the "optical-num-audio-tracks" property.
`get_optical_num_data_tracks` () | Getter for the "optical-num-data-tracks" property.
`get_optical_num_sessions` () | Getter for the "optical-num-sessions" property.
`get_optical_num_tracks` () | Getter for the "optical-num-tracks" property.
`get_removable` () | Getter for the "removable" property.
`get_revision` () | Getter for the "revision" property.
`get_rotation_rate` () | Getter for the "rotation-rate" property.
`get_seat` () | Getter for the "seat" property.
`get_serial` () | Getter for the "serial" property.
`get_size` () | Getter for the "size" property.
`get_sort_key` () | Getter for the "sort-key" property.
`get_time_detected` () | Getter for the "time-detected" property.
`get_time_media_detected` () | Getter for the "time-media-detected" property.
`get_vendor` () | Getter for the "vendor" property.
`get_wwn` () | Getter for the "wwn" property.
`handle_power_off` () | Handler for the "handle-power-off" signal.
`get_can_power_off` () | Getter for the "can-power-off" property.
`get_sibling_id` () | Getter for the "sibling-id" property.

### udisks_drive_interface_info ()

    GDBusInterfaceInfo * udisks_drive_interface_info        (void);

Gets a machine-readable description of the org.freedesktop.UDisks2.Drive D-Bus interface.

Returns : | A GDBusInterfaceInfo. Do not free. [transfer none]

### udisks_drive_override_properties ()

    guint               udisks_drive_override_properties    (GObjectClass *klass,
                                                             guint property_id_begin);

Overrides all GObject properties in the UDisksDrive interface for a concrete class. The properties are overridden in the order they are defined.

`klass` : | The class structure for a GObject-derived class.
`property_id_begin` : | The property id to assign to the first overridden property.
Returns : | The last property id.

### udisks_drive_call_eject ()

    void                udisks_drive_call_eject             (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously invokes the `Eject()` D-Bus method on `proxy`. When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from. You can then call `udisks_drive_call_eject_finish()` to get the result of the operation.

See `udisks_drive_call_eject_sync()` for the synchronous, blocking version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied or `NULL`.
`user_data` : | User data to pass to `callback`.

### udisks_drive_call_eject_finish ()

    gboolean            udisks_drive_call_eject_finish      (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `udisks_drive_call_eject()`.

`proxy` : | A UDisksDriveProxy.
`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `udisks_drive_call_eject()`.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### udisks_drive_call_eject_sync ()

    gboolean            udisks_drive_call_eject_sync        (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);

Synchronously invokes the `Eject()` D-Bus method on `proxy`. The calling thread is blocked until a reply is received.

See `udisks_drive_call_eject()` for the asynchronous version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### udisks_drive_complete_eject ()

    void                udisks_drive_complete_eject         (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);

Helper function used in service implementations to finish handling invocations of the `Eject()` D-Bus method. If you instead want to finish handling an invocation by returning an error, use `g_dbus_method_invocation_return_error()` or similar.

This method will free `invocation`, you cannot use it afterwards.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation. [transfer full]

### udisks_drive_call_set_configuration ()

    void                udisks_drive_call_set_configuration (UDisksDrive *proxy,
                                                             GVariant *arg_value,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously invokes the `SetConfiguration()` D-Bus method on `proxy`. When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from. You can then call `udisks_drive_call_set_configuration_finish()` to get the result of the operation.

See `udisks_drive_call_set_configuration_sync()` for the synchronous, blocking version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_value` : | Argument to pass with the method invocation.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied or `NULL`.
`user_data` : | User data to pass to `callback`.

### udisks_drive_call_set_configuration_finish ()

    gboolean            udisks_drive_call_set_configuration_finish
                                                            (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `udisks_drive_call_set_configuration()`.

`proxy` : | A UDisksDriveProxy.
`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `udisks_drive_call_set_configuration()`.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### udisks_drive_call_set_configuration_sync ()

    gboolean            udisks_drive_call_set_configuration_sync
                                                            (UDisksDrive *proxy,
                                                             GVariant *arg_value,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);

Synchronously invokes the `SetConfiguration()` D-Bus method on `proxy`. The calling thread is blocked until a reply is received.

See `udisks_drive_call_set_configuration()` for the asynchronous version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_value` : | Argument to pass with the method invocation.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

### udisks_drive_complete_set_configuration ()

    void                udisks_drive_complete_set_configuration
                                                            (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);

Helper function used in service implementations to finish handling invocations of the `SetConfiguration()` D-Bus method. If you instead want to finish handling an invocation by returning an error, use `g_dbus_method_invocation_return_error()` or similar.

This method will free `invocation`, you cannot use it afterwards.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation. [transfer full]

### udisks_drive_call_power_off ()

    void                udisks_drive_call_power_off         (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously invokes the `PowerOff()` D-Bus method on `proxy`. When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from. You can then call `udisks_drive_call_power_off_finish()` to get the result of the operation.

See `udisks_drive_call_power_off_sync()` for the synchronous, blocking version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied or `NULL`.
`user_data` : | User data to pass to `callback`.

Since 2.1

### udisks_drive_call_power_off_finish ()

    gboolean            udisks_drive_call_power_off_finish  (UDisksDrive *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `udisks_drive_call_power_off()`.

`proxy` : | A UDisksDriveProxy.
`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `udisks_drive_call_power_off()`.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

Since 2.1

### udisks_drive_call_power_off_sync ()

    gboolean            udisks_drive_call_power_off_sync    (UDisksDrive *proxy,
                                                             GVariant *arg_options,
                                                             GCancellable *cancellable,
                                                             GError **error);

Synchronously invokes the `PowerOff()` D-Bus method on `proxy`. The calling thread is blocked until a reply is received.

See `udisks_drive_call_power_off()` for the asynchronous version of this method.

`proxy` : | A UDisksDriveProxy.
`arg_options` : | Argument to pass with the method invocation.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the call succeded, `FALSE` if `error` is set. [skip]

Since 2.1

### udisks_drive_complete_power_off ()

    void                udisks_drive_complete_power_off     (UDisksDrive *object,
                                                             GDBusMethodInvocation *invocation);

Helper function used in service implementations to finish handling invocations of the `PowerOff()` D-Bus method. If you instead want to finish handling an invocation by returning an error, use `g_dbus_method_invocation_return_error()` or similar.

This method will free `invocation`, you cannot use it afterwards.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation. [transfer full]

Since 2.1

### udisks_drive_get_connection_bus ()

    const gchar *       udisks_drive_get_connection_bus     (UDisksDrive *object);

Gets the value of the "ConnectionBus" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_connection_bus()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_removable ()

    gboolean            udisks_drive_get_removable          (UDisksDrive *object);

Gets the value of the "Removable" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_ejectable ()

    gboolean            udisks_drive_get_ejectable          (UDisksDrive *object);

Gets the value of the "Ejectable" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_seat ()

    const gchar *       udisks_drive_get_seat               (UDisksDrive *object);

Gets the value of the "Seat" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_seat()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_media ()

    const gchar *       udisks_drive_get_media              (UDisksDrive *object);

Gets the value of the "Media" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_media()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_media_compatibility ()

    const gchar *const * udisks_drive_get_media_compatibility
                                                            (UDisksDrive *object);

Gets the value of the "MediaCompatibility" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_media_compatibility()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_media_removable ()

    gboolean            udisks_drive_get_media_removable    (UDisksDrive *object);

Gets the value of the "MediaRemovable" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_media_available ()

    gboolean            udisks_drive_get_media_available    (UDisksDrive *object);

Gets the value of the "MediaAvailable" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_media_change_detected ()

    gboolean            udisks_drive_get_media_change_detected
                                                            (UDisksDrive *object);

Gets the value of the "MediaChangeDetected" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_time_detected ()

    guint64             udisks_drive_get_time_detected      (UDisksDrive *object);

Gets the value of the "TimeDetected" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_time_media_detected ()

    guint64             udisks_drive_get_time_media_detected
                                                            (UDisksDrive *object);

Gets the value of the "TimeMediaDetected" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_size ()

    guint64             udisks_drive_get_size               (UDisksDrive *object);

Gets the value of the "Size" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical ()

    gboolean            udisks_drive_get_optical            (UDisksDrive *object);

Gets the value of the "Optical" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical_blank ()

    gboolean            udisks_drive_get_optical_blank      (UDisksDrive *object);

Gets the value of the "OpticalBlank" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical_num_tracks ()

    guint               udisks_drive_get_optical_num_tracks (UDisksDrive *object);

Gets the value of the "OpticalNumTracks" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical_num_audio_tracks ()

    guint               udisks_drive_get_optical_num_audio_tracks
                                                            (UDisksDrive *object);

Gets the value of the "OpticalNumAudioTracks" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical_num_data_tracks ()

    guint               udisks_drive_get_optical_num_data_tracks
                                                            (UDisksDrive *object);

Gets the value of the "OpticalNumDataTracks" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_optical_num_sessions ()

    guint               udisks_drive_get_optical_num_sessions
                                                            (UDisksDrive *object);

Gets the value of the "OpticalNumSessions" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_model ()

    const gchar *       udisks_drive_get_model              (UDisksDrive *object);

Gets the value of the "Model" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_model()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_revision ()

    const gchar *       udisks_drive_get_revision           (UDisksDrive *object);

Gets the value of the "Revision" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_revision()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_rotation_rate ()

    gint                udisks_drive_get_rotation_rate      (UDisksDrive *object);

Gets the value of the "RotationRate" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

### udisks_drive_get_serial ()

    const gchar *       udisks_drive_get_serial             (UDisksDrive *object);

Gets the value of the "Serial" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_serial()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_vendor ()

    const gchar *       udisks_drive_get_vendor             (UDisksDrive *object);

Gets the value of the "Vendor" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_vendor()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_wwn ()

    const gchar *       udisks_drive_get_wwn                (UDisksDrive *object);

Gets the value of the "WWN" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_wwn()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_sort_key ()

    const gchar *       udisks_drive_get_sort_key           (UDisksDrive *object);

Gets the value of the "SortKey" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_sort_key()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_configuration ()

    GVariant *          udisks_drive_get_configuration      (UDisksDrive *object);

Gets the value of the "Configuration" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_configuration()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_id ()

    const gchar *       udisks_drive_get_id                 (UDisksDrive *object);

Gets the value of the "Id" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_id()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

### udisks_drive_get_can_power_off ()

    gboolean            udisks_drive_get_can_power_off      (UDisksDrive *object);

Gets the value of the "CanPowerOff" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value.

Since 2.1

### udisks_drive_get_sibling_id ()

    const gchar *       udisks_drive_get_sibling_id         (UDisksDrive *object);

Gets the value of the "SiblingId" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

### Warning

The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where `object` was constructed. Use `udisks_drive_dup_sibling_id()` if on another thread.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. Do not free the returned value, it belongs to `object`. [transfer none]

Since 2.1

### udisks_drive_dup_connection_bus ()

    gchar *             udisks_drive_dup_connection_bus     (UDisksDrive *object);

Gets a copy of the "ConnectionBus" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_seat ()

    gchar *             udisks_drive_dup_seat               (UDisksDrive *object);

Gets a copy of the "Seat" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_media ()

    gchar *             udisks_drive_dup_media              (UDisksDrive *object);

Gets a copy of the "Media" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_media_compatibility ()

    gchar **            udisks_drive_dup_media_compatibility
                                                            (UDisksDrive *object);

Gets a copy of the "MediaCompatibility" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_strfreev()`. [transfer full]

### udisks_drive_dup_model ()

    gchar *             udisks_drive_dup_model              (UDisksDrive *object);

Gets a copy of the "Model" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_revision ()

    gchar *             udisks_drive_dup_revision           (UDisksDrive *object);

Gets a copy of the "Revision" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_serial ()

    gchar *             udisks_drive_dup_serial             (UDisksDrive *object);

Gets a copy of the "Serial" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_vendor ()

    gchar *             udisks_drive_dup_vendor             (UDisksDrive *object);

Gets a copy of the "Vendor" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_wwn ()

    gchar *             udisks_drive_dup_wwn                (UDisksDrive *object);

Gets a copy of the "WWN" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_sort_key ()

    gchar *             udisks_drive_dup_sort_key           (UDisksDrive *object);

Gets a copy of the "SortKey" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_configuration ()

    GVariant *          udisks_drive_dup_configuration      (UDisksDrive *object);

Gets a copy of the "Configuration" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_variant_unref()`. [transfer full]

### udisks_drive_dup_id ()

    gchar *             udisks_drive_dup_id                 (UDisksDrive *object);

Gets a copy of the "Id" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

### udisks_drive_dup_sibling_id ()

    gchar *             udisks_drive_dup_sibling_id         (UDisksDrive *object);

Gets a copy of the "SiblingId" D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

`object` : | A UDisksDrive.
Returns : | The property value or `NULL` if the property is not set. The returned value should be freed with `g_free()`. [transfer full]

Since 2.1

### udisks_drive_set_connection_bus ()

    void                udisks_drive_set_connection_bus     (UDisksDrive *object,
                                                             const gchar *value);

Sets the "ConnectionBus" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_removable ()

    void                udisks_drive_set_removable          (UDisksDrive *object,
                                                             gboolean value);

Sets the "Removable" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_ejectable ()

    void                udisks_drive_set_ejectable          (UDisksDrive *object,
                                                             gboolean value);

Sets the "Ejectable" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_seat ()

    void                udisks_drive_set_seat               (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Seat" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_media ()

    void                udisks_drive_set_media              (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Media" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_media_compatibility ()

    void                udisks_drive_set_media_compatibility
                                                            (UDisksDrive *object,
                                                             const gchar *const *value);

Sets the "MediaCompatibility" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_media_removable ()

    void                udisks_drive_set_media_removable    (UDisksDrive *object,
                                                             gboolean value);

Sets the "MediaRemovable" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_media_available ()

    void                udisks_drive_set_media_available    (UDisksDrive *object,
                                                             gboolean value);

Sets the "MediaAvailable" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_media_change_detected ()

    void                udisks_drive_set_media_change_detected
                                                            (UDisksDrive *object,
                                                             gboolean value);

Sets the "MediaChangeDetected" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_time_detected ()

    void                udisks_drive_set_time_detected      (UDisksDrive *object,
                                                             guint64 value);

Sets the "TimeDetected" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_time_media_detected ()

    void                udisks_drive_set_time_media_detected
                                                            (UDisksDrive *object,
                                                             guint64 value);

Sets the "TimeMediaDetected" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_size ()

    void                udisks_drive_set_size               (UDisksDrive *object,
                                                             guint64 value);

Sets the "Size" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical ()

    void                udisks_drive_set_optical            (UDisksDrive *object,
                                                             gboolean value);

Sets the "Optical" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical_blank ()

    void                udisks_drive_set_optical_blank      (UDisksDrive *object,
                                                             gboolean value);

Sets the "OpticalBlank" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical_num_tracks ()

    void                udisks_drive_set_optical_num_tracks (UDisksDrive *object,
                                                             guint value);

Sets the "OpticalNumTracks" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical_num_audio_tracks ()

    void                udisks_drive_set_optical_num_audio_tracks
                                                            (UDisksDrive *object,
                                                             guint value);

Sets the "OpticalNumAudioTracks" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical_num_data_tracks ()

    void                udisks_drive_set_optical_num_data_tracks
                                                            (UDisksDrive *object,
                                                             guint value);

Sets the "OpticalNumDataTracks" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_optical_num_sessions ()

    void                udisks_drive_set_optical_num_sessions
                                                            (UDisksDrive *object,
                                                             guint value);

Sets the "OpticalNumSessions" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_model ()

    void                udisks_drive_set_model              (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Model" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_revision ()

    void                udisks_drive_set_revision           (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Revision" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_rotation_rate ()

    void                udisks_drive_set_rotation_rate      (UDisksDrive *object,
                                                             gint value);

Sets the "RotationRate" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_serial ()

    void                udisks_drive_set_serial             (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Serial" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_vendor ()

    void                udisks_drive_set_vendor             (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Vendor" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_wwn ()

    void                udisks_drive_set_wwn                (UDisksDrive *object,
                                                             const gchar *value);

Sets the "WWN" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_sort_key ()

    void                udisks_drive_set_sort_key           (UDisksDrive *object,
                                                             const gchar *value);

Sets the "SortKey" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_configuration ()

    void                udisks_drive_set_configuration      (UDisksDrive *object,
                                                             GVariant *value);

Sets the "Configuration" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_id ()

    void                udisks_drive_set_id                 (UDisksDrive *object,
                                                             const gchar *value);

Sets the "Id" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

### udisks_drive_set_can_power_off ()

    void                udisks_drive_set_can_power_off      (UDisksDrive *object,
                                                             gboolean value);

Sets the "CanPowerOff" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

Since 2.1

### udisks_drive_set_sibling_id ()

    void                udisks_drive_set_sibling_id         (UDisksDrive *object,
                                                             const gchar *value);

Sets the "SiblingId" D-Bus property to `value`.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.

`object` : | A UDisksDrive.
`value` : | The value to set.

Since 2.1

### struct UDisksDriveProxy

    struct UDisksDriveProxy;

The UDisksDriveProxy structure contains only private data and should only be accessed using the provided API.

### struct UDisksDriveProxyClass

    struct UDisksDriveProxyClass {
      GDBusProxyClass parent_class;
    };

Class structure for UDisksDriveProxy.

GDBusProxyClass `parent_class`; | The parent class.

### udisks_drive_proxy_new ()

    void                udisks_drive_proxy_new              (GDBusConnection *connection,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously creates a proxy for the D-Bus interface org.freedesktop.UDisks2.Drive. See `g_dbus_proxy_new()` for more details.

When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from. You can then call `udisks_drive_proxy_new_finish()` to get the result of the operation.

See `udisks_drive_proxy_new_sync()` for the synchronous, blocking version of this constructor.

`connection` : | A GDBusConnection.
`flags` : | Flags from the GDBusProxyFlags enumeration.
`name` : | A bus name (well-known or unique) or `NULL` if `connection` is not a message bus connection. [allow-none]
`object_path` : | An object path.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied.
`user_data` : | User data to pass to `callback`.

### udisks_drive_proxy_new_finish ()

    UDisksDrive *       udisks_drive_proxy_new_finish       (GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `udisks_drive_proxy_new()`.

`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `udisks_drive_proxy_new()`.
`error` : | Return location for error or `NULL`
Returns : | The constructed proxy object or `NULL` if `error` is set. [transfer full][type UDisksDriveProxy]

### udisks_drive_proxy_new_sync ()

    UDisksDrive *       udisks_drive_proxy_new_sync         (GDBusConnection *connection,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GError **error);

Synchronously creates a proxy for the D-Bus interface org.freedesktop.UDisks2.Drive. See `g_dbus_proxy_new_sync()` for more details.

The calling thread is blocked until a reply is received.

See `udisks_drive_proxy_new()` for the asynchronous version of this constructor.

`connection` : | A GDBusConnection.
`flags` : | Flags from the GDBusProxyFlags enumeration.
`name` : | A bus name (well-known or unique) or `NULL` if `connection` is not a message bus connection. [allow-none]
`object_path` : | An object path.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`
Returns : | The constructed proxy object or `NULL` if `error` is set. [transfer full][type UDisksDriveProxy]

### udisks_drive_proxy_new_for_bus ()

    void                udisks_drive_proxy_new_for_bus      (GBusType bus_type,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Like `udisks_drive_proxy_new()` but takes a GBusType instead of a GDBusConnection.

When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from. You can then call `udisks_drive_proxy_new_for_bus_finish()` to get the result of the operation.

See `udisks_drive_proxy_new_for_bus_sync()` for the synchronous, blocking version of this constructor.

`bus_type` : | A GBusType.
`flags` : | Flags from the GDBusProxyFlags enumeration.
`name` : | A bus name (well-known or unique).
`object_path` : | An object path.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`callback` : | A GAsyncReadyCallback to call when the request is satisfied.
`user_data` : | User data to pass to `callback`.

### udisks_drive_proxy_new_for_bus_finish ()

    UDisksDrive *       udisks_drive_proxy_new_for_bus_finish
                                                            (GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `udisks_drive_proxy_new_for_bus()`.

`res` : | The GAsyncResult obtained from the GAsyncReadyCallback passed to `udisks_drive_proxy_new_for_bus()`.
`error` : | Return location for error or `NULL`
Returns : | The constructed proxy object or `NULL` if `error` is set. [transfer full][type UDisksDriveProxy]

### udisks_drive_proxy_new_for_bus_sync ()

    UDisksDrive *       udisks_drive_proxy_new_for_bus_sync (GBusType bus_type,
                                                             GDBusProxyFlags flags,
                                                             const gchar *name,
                                                             const gchar *object_path,
                                                             GCancellable *cancellable,
                                                             GError **error);

Like `udisks_drive_proxy_new_sync()` but takes a GBusType instead of a GDBusConnection.

The calling thread is blocked until a reply is received.

See `udisks_drive_proxy_new_for_bus()` for the asynchronous version of this constructor.

`bus_type` : | A GBusType.
`flags` : | Flags from the GDBusProxyFlags enumeration.
`name` : | A bus name (well-known or unique).
`object_path` : | An object path.
`cancellable` : | A GCancellable or `NULL`. [allow-none]
`error` : | Return location for error or `NULL`
Returns : | The constructed proxy object or `NULL` if `error` is set. [transfer full][type UDisksDriveProxy]

### struct UDisksDriveSkeleton

    struct UDisksDriveSkeleton;

The UDisksDriveSkeleton structure contains only private data and should only be accessed using the provided API.

### struct UDisksDriveSkeletonClass

    struct UDisksDriveSkeletonClass {
      GDBusInterfaceSkeletonClass parent_class;
    };

Class structure for UDisksDriveSkeleton.

GDBusInterfaceSkeletonClass `parent_class`; | The parent class.

### udisks_drive_skeleton_new ()

    UDisksDrive *       udisks_drive_skeleton_new           (void);

Creates a skeleton object for the D-Bus interface org.freedesktop.UDisks2.Drive.

Returns : | The skeleton object. [transfer full][type UDisksDriveSkeleton]

## Property Details

### The `"can-power-off"` property

      "can-power-off"            gboolean              : Read / Write

Represents the D-Bus property "CanPowerOff".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

Since 2.1

### The `"configuration"` property

      "configuration"            GVariant*             : Read / Write

Represents the D-Bus property "Configuration".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Allowed values: GVariant<a{sv}>

Default value: NULL

### The `"connection-bus"` property

      "connection-bus"           gchar*                : Read / Write

Represents the D-Bus property "ConnectionBus".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"ejectable"` property

      "ejectable"                gboolean              : Read / Write

Represents the D-Bus property "Ejectable".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"id"` property

      "id"                       gchar*                : Read / Write

Represents the D-Bus property "Id".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"media"` property

      "media"                    gchar*                : Read / Write

Represents the D-Bus property "Media".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"media-available"` property

      "media-available"          gboolean              : Read / Write

Represents the D-Bus property "MediaAvailable".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"media-change-detected"` property

      "media-change-detected"    gboolean              : Read / Write

Represents the D-Bus property "MediaChangeDetected".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"media-compatibility"` property

      "media-compatibility"      GStrv                 : Read / Write

Represents the D-Bus property "MediaCompatibility".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

### The `"media-removable"` property

      "media-removable"          gboolean              : Read / Write

Represents the D-Bus property "MediaRemovable".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"model"` property

      "model"                    gchar*                : Read / Write

Represents the D-Bus property "Model".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"optical"` property

      "optical"                  gboolean              : Read / Write

Represents the D-Bus property "Optical".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"optical-blank"` property

      "optical-blank"            gboolean              : Read / Write

Represents the D-Bus property "OpticalBlank".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"optical-num-audio-tracks"` property

      "optical-num-audio-tracks" guint                 : Read / Write

Represents the D-Bus property "OpticalNumAudioTracks".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"optical-num-data-tracks"` property

      "optical-num-data-tracks"  guint                 : Read / Write

Represents the D-Bus property "OpticalNumDataTracks".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"optical-num-sessions"` property

      "optical-num-sessions"     guint                 : Read / Write

Represents the D-Bus property "OpticalNumSessions".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"optical-num-tracks"` property

      "optical-num-tracks"       guint                 : Read / Write

Represents the D-Bus property "OpticalNumTracks".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"removable"` property

      "removable"                gboolean              : Read / Write

Represents the D-Bus property "Removable".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: FALSE

### The `"revision"` property

      "revision"                 gchar*                : Read / Write

Represents the D-Bus property "Revision".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"rotation-rate"` property

      "rotation-rate"            gint                  : Read / Write

Represents the D-Bus property "RotationRate".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"seat"` property

      "seat"                     gchar*                : Read / Write

Represents the D-Bus property "Seat".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"serial"` property

      "serial"                   gchar*                : Read / Write

Represents the D-Bus property "Serial".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"sibling-id"` property

      "sibling-id"               gchar*                : Read / Write

Represents the D-Bus property "SiblingId".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

Since 2.1

### The `"size"` property

      "size"                     guint64               : Read / Write

Represents the D-Bus property "Size".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"sort-key"` property

      "sort-key"                 gchar*                : Read / Write

Represents the D-Bus property "SortKey".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"time-detected"` property

      "time-detected"            guint64               : Read / Write

Represents the D-Bus property "TimeDetected".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"time-media-detected"` property

      "time-media-detected"      guint64               : Read / Write

Represents the D-Bus property "TimeMediaDetected".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: 0

### The `"vendor"` property

      "vendor"                   gchar*                : Read / Write

Represents the D-Bus property "Vendor".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

### The `"wwn"` property

      "wwn"                      gchar*                : Read / Write

Represents the D-Bus property "WWN".

Since the D-Bus property for this GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.

Default value: NULL

## Signal Details

### The `"handle-eject"` signal

    gboolean            user_function                      (UDisksDrive           *object,
                                                            GDBusMethodInvocation *invocation,
                                                            GVariant              *arg_options,
                                                            gpointer               user_data)        : Run Last

Signal emitted when a remote caller is invoking the `Eject()` D-Bus method.

If a signal handler returns `TRUE`, it means the signal handler will handle the invocation (e.g. take a reference to `invocation` and eventually call `udisks_drive_complete_eject()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation.
`arg_options` : | Argument passed by remote caller.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the invocation was handled, `FALSE` to let other signal handlers run.

### The `"handle-power-off"` signal

    gboolean            user_function                      (UDisksDrive           *object,
                                                            GDBusMethodInvocation *invocation,
                                                            GVariant              *arg_options,
                                                            gpointer               user_data)        : Run Last

Signal emitted when a remote caller is invoking the `PowerOff()` D-Bus method.

If a signal handler returns `TRUE`, it means the signal handler will handle the invocation (e.g. take a reference to `invocation` and eventually call `udisks_drive_complete_power_off()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation.
`arg_options` : | Argument passed by remote caller.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the invocation was handled, `FALSE` to let other signal handlers run.

Since 2.1

### The `"handle-set-configuration"` signal

    gboolean            user_function                      (UDisksDrive           *object,
                                                            GDBusMethodInvocation *invocation,
                                                            GVariant              *arg_value,
                                                            GVariant              *arg_options,
                                                            gpointer               user_data)        : Run Last

Signal emitted when a remote caller is invoking the `SetConfiguration()` D-Bus method.

If a signal handler returns `TRUE`, it means the signal handler will handle the invocation (e.g. take a reference to `invocation` and eventually call `udisks_drive_complete_set_configuration()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

`object` : | A UDisksDrive.
`invocation` : | A GDBusMethodInvocation.
`arg_value` : | Argument passed by remote caller.
`arg_options` : | Argument passed by remote caller.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the invocation was handled, `FALSE` to let other signal handlers run.