### Method

# Qmi Device command_full

since: 1.18

#### Declaration [src]

    void
    qmi_device_command_full (
      QmiDevice* self,
      QmiMessage* message,
      QmiMessageContext* message_context,
      guint timeout,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Asynchronously sends a `QmiMessage` to the device.

The message will be processed according to the specific `message_context` given. If no `context` given, the behavior is the same as qmi_device_command().

If the operation is cancelled via `cancellable`, a `QMI_PROTOCOL_ERROR_ABORTED` error will be returned always. If the QMI method may be aborted, there is no guarantee that the operation is truly aborted before the error is returned so it may really happen that the operation really succeeded and the method would still return `QMI_PROTOCOL_ERROR_ABORTED`. In order to use abortable methods and make sure the response is the correct one, use qmi_device_command_abortable().

When the operation is finished `callback` will be called. You can then call `qmi_device_command_full_finish()` to get the result of the operation.

Available since: 1.18

This method completes asynchronously. Use `qmi_device_command_full_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`message`

  Type: `QmiMessage`

  The message to send.

  The data is owned by the caller of the method.

`message_context`

  Type: `QmiMessageContext`

  The context of the message.

  The data is owned by the caller of the method.

`timeout`

  Type: `guint`

  Maximum time, in seconds, to wait for the response.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the operation is finished.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data to pass to callback function.

  The argument can be `NULL`.
  The data is owned by the caller of the method.