## UDisksDrive

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

## Functions

GDBusInterfaceInfo * | udisks_drive_interface_info ()
guint | udisks_drive_override_properties ()
void | udisks_drive_call_eject ()
gboolean | udisks_drive_call_eject_finish ()
gboolean | udisks_drive_call_eject_sync ()
void | udisks_drive_complete_eject ()
void | udisks_drive_call_set_configuration ()
gboolean | udisks_drive_call_set_configuration_finish ()
gboolean | udisks_drive_call_set_configuration_sync ()
void | udisks_drive_complete_set_configuration ()
void | udisks_drive_call_power_off ()
gboolean | udisks_drive_call_power_off_finish ()
gboolean | udisks_drive_call_power_off_sync ()
void | udisks_drive_complete_power_off ()
const gchar * | udisks_drive_get_connection_bus ()
gboolean | udisks_drive_get_removable ()
gboolean | udisks_drive_get_ejectable ()
const gchar * | udisks_drive_get_seat ()
const gchar * | udisks_drive_get_media ()
const gchar *const * | udisks_drive_get_media_compatibility ()
gboolean | udisks_drive_get_media_removable ()
gboolean | udisks_drive_get_media_available ()
gboolean | udisks_drive_get_media_change_detected ()
guint64 | udisks_drive_get_time_detected ()
guint64 | udisks_drive_get_time_media_detected ()
guint64 | udisks_drive_get_size ()
gboolean | udisks_drive_get_optical ()
gboolean | udisks_drive_get_optical_blank ()
guint | udisks_drive_get_optical_num_tracks ()
guint | udisks_drive_get_optical_num_audio_tracks ()
guint | udisks_drive_get_optical_num_data_tracks ()
guint | udisks_drive_get_optical_num_sessions ()
const gchar * | udisks_drive_get_model ()
const gchar * | udisks_drive_get_revision ()
gint | udisks_drive_get_rotation_rate ()
const gchar * | udisks_drive_get_serial ()
const gchar * | udisks_drive_get_vendor ()
const gchar * | udisks_drive_get_wwn ()
const gchar * | udisks_drive_get_sort_key ()
GVariant * | udisks_drive_get_configuration ()
const gchar * | udisks_drive_get_id ()
gboolean | udisks_drive_get_can_power_off ()
const gchar * | udisks_drive_get_sibling_id ()
gchar * | udisks_drive_dup_connection_bus ()
gchar * | udisks_drive_dup_seat ()
gchar * | udisks_drive_dup_media ()
gchar ** | udisks_drive_dup_media_compatibility ()
gchar * | udisks_drive_dup_model ()
gchar * | udisks_drive_dup_revision ()
gchar * | udisks_drive_dup_serial ()
gchar * | udisks_drive_dup_vendor ()
gchar * | udisks_drive_dup_wwn ()
gchar * | udisks_drive_dup_sort_key ()
GVariant * | udisks_drive_dup_configuration ()
gchar * | udisks_drive_dup_id ()
gchar * | udisks_drive_dup_sibling_id ()
void | udisks_drive_set_connection_bus ()
void | udisks_drive_set_removable ()
void | udisks_drive_set_ejectable ()
void | udisks_drive_set_seat ()
void | udisks_drive_set_media ()
void | udisks_drive_set_media_compatibility ()
void | udisks_drive_set_media_removable ()
void | udisks_drive_set_media_available ()
void | udisks_drive_set_media_change_detected ()
void | udisks_drive_set_time_detected ()
void | udisks_drive_set_time_media_detected ()
void | udisks_drive_set_size ()
void | udisks_drive_set_optical ()
void | udisks_drive_set_optical_blank ()
void | udisks_drive_set_optical_num_tracks ()
void | udisks_drive_set_optical_num_audio_tracks ()
void | udisks_drive_set_optical_num_data_tracks ()
void | udisks_drive_set_optical_num_sessions ()
void | udisks_drive_set_model ()
void | udisks_drive_set_revision ()
void | udisks_drive_set_rotation_rate ()
void | udisks_drive_set_serial ()
void | udisks_drive_set_vendor ()
void | udisks_drive_set_wwn ()
void | udisks_drive_set_sort_key ()
void | udisks_drive_set_configuration ()
void | udisks_drive_set_id ()
void | udisks_drive_set_can_power_off ()
void | udisks_drive_set_sibling_id ()
void | udisks_drive_proxy_new ()
UDisksDrive * | udisks_drive_proxy_new_finish ()
UDisksDrive * | udisks_drive_proxy_new_sync ()
void | udisks_drive_proxy_new_for_bus ()
UDisksDrive * | udisks_drive_proxy_new_for_bus_finish ()
UDisksDrive * | udisks_drive_proxy_new_for_bus_sync ()
UDisksDrive * | udisks_drive_skeleton_new ()

## Properties

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

## Signals

gboolean | handle-eject | Run Last
gboolean | handle-power-off | Run Last
gboolean | handle-set-configuration | Run Last

## Types and Values

| UDisksDrive
struct | UDisksDriveIface
struct | UDisksDriveProxy
struct | UDisksDriveProxyClass
struct | UDisksDriveSkeleton
struct | UDisksDriveSkeletonClass

## Object Hierarchy

        GInterface
        ╰── UDisksDrive
        GObject
        ├── GDBusInterfaceSkeleton
        │   ╰── UDisksDriveSkeleton
        │       ╰── UDisksLinuxDrive
        ╰── GDBusProxy
            ╰── UDisksDriveProxy

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

## Description

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

## Functions

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

#### Parameters

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 (see `g_main_context_push_thread_default()`). 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.

#### Parameters

proxy | A UDisksDriveProxy. |
arg_options | Argument to pass with the method invocation. |
cancellable | A GCancellable or `NULL`. | [nullable]
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()`.

#### Parameters

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 succeeded, `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.

#### Parameters

proxy | A UDisksDriveProxy. |
arg_options | Argument to pass with the method invocation. |
cancellable | A GCancellable or `NULL`. | [nullable]
error | Return location for error or `NULL`. |

#### Returns

`TRUE` if the call succeeded, `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.

#### Parameters

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 (see `g_main_context_push_thread_default()`). 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.

#### Parameters

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`. | [nullable]
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()`.

#### Parameters

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 succeeded, `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.

#### Parameters

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`. | [nullable]
error | Return location for error or `NULL`. |

#### Returns

`TRUE` if the call succeeded, `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.

#### Parameters

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 (see `g_main_context_push_thread_default()`). 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.

#### Parameters

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

Since: 2.0.0

### 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()`.

#### Parameters

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 succeeded, `FALSE` if `error` is set.

[skip]

Since: 2.0.0

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

#### Parameters

proxy | A UDisksDriveProxy. |
arg_options | Argument to pass with the method invocation. |
cancellable | A GCancellable or `NULL`. | [nullable]
error | Return location for error or `NULL`. |

#### Returns

`TRUE` if the call succeeded, `FALSE` if `error` is set.

[skip]

Since: 2.0.0

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

#### Parameters

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

Since: 2.0.0

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

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.

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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.

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

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.

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

object | A UDisksDrive. |

#### Returns

The property value.

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

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.

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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][nullable]

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

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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.

[skip]

#### Parameters

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

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

[skip]

#### Parameters

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

### 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 (see `g_main_context_push_thread_default()`). 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.

#### Parameters

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. | [nullable]
object_path | An object path. |
cancellable | A GCancellable or `NULL`. | [nullable]
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()`.

#### Parameters

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.

#### Parameters

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. | [nullable]
object_path | An object path. |
cancellable | A GCancellable or `NULL`. | [nullable]
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 (see `g_main_context_push_thread_default()`). 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.

#### Parameters

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`. | [nullable]
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()`.

#### Parameters

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.

#### Parameters

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`. | [nullable]
error | Return location for error or `NULL` |

#### Returns

The constructed proxy object or `NULL` if `error` is set.

[transfer full][type UDisksDriveProxy]

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

## Types and Values

### 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);

      gboolean  (*get_can_power_off) (UDisksDrive *object);

      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);

      const gchar * (*get_sibling_id) (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);
    };

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

#### Members

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_can_power_off` () | Getter for the “can-power-off” property. |
`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_sibling_id` () | Getter for the “sibling-id” 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. |

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

#### Members

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

#### Members

## Property Details

### The `“can-power-off”` property

      “can-power-off”            gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“configuration”` property

      “configuration”            GVariant *

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.

Owner: UDisksDrive

Flags: Read / Write

Allowed values: GVariant<a{sv}>

Default value: NULL

### The `“connection-bus”` property

      “connection-bus”           char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“ejectable”` property

      “ejectable”                gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“id”` property

      “id”                       char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“media”` property

      “media”                    char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“media-available”` property

      “media-available”          gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“media-change-detected”` property

      “media-change-detected”    gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“media-compatibility”` property

      “media-compatibility”      GStrv

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.

Owner: UDisksDrive

Flags: Read / Write

### The `“media-removable”` property

      “media-removable”          gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“model”` property

      “model”                    char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“optical”` property

      “optical”                  gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“optical-blank”` property

      “optical-blank”            gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“optical-num-audio-tracks”` property

      “optical-num-audio-tracks” guint

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“optical-num-data-tracks”` property

      “optical-num-data-tracks”  guint

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“optical-num-sessions”` property

      “optical-num-sessions”     guint

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“optical-num-tracks”` property

      “optical-num-tracks”       guint

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“removable”` property

      “removable”                gboolean

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: FALSE

### The `“revision”` property

      “revision”                 char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“rotation-rate”` property

      “rotation-rate”            int

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“seat”` property

      “seat”                     char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“serial”` property

      “serial”                   char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“sibling-id”` property

      “sibling-id”               char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“size”` property

      “size”                     guint64

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“sort-key”` property

      “sort-key”                 char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“time-detected”` property

      “time-detected”            guint64

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“time-media-detected”` property

      “time-media-detected”      guint64

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: 0

### The `“vendor”` property

      “vendor”                   char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

### The `“wwn”` property

      “wwn”                      char *

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.

Owner: UDisksDrive

Flags: Read / Write

Default value: NULL

## Signal Details

### The `“handle-eject”` signal

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

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 other signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

#### Parameters

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

`G_DBUS_METHOD_INVOCATION_HANDLED` or `TRUE` if the invocation was handled, `G_DBUS_METHOD_INVOCATION_UNHANDLED` or `FALSE` to let other signal handlers run.

Flags: Run Last

### The `“handle-power-off”` signal

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

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 other signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

#### Parameters

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

`G_DBUS_METHOD_INVOCATION_HANDLED` or `TRUE` if the invocation was handled, `G_DBUS_METHOD_INVOCATION_UNHANDLED` or `FALSE` to let other signal handlers run.

Flags: Run Last

Since: 2.0.0

### The `“handle-set-configuration”` signal

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

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 other signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

#### Parameters

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

`G_DBUS_METHOD_INVOCATION_HANDLED` or `TRUE` if the invocation was handled, `G_DBUS_METHOD_INVOCATION_UNHANDLED` or `FALSE` to let other signal handlers run.

Flags: Run Last