## OMA Start Session OMA Start Session |

## Synopsis

                        QmiMessageOmaStartSessionInput;
                        QmiMessageOmaStartSessionOutput;

    QmiMessageOmaStartSessionInput * qmi_message_oma_start_session_input_new
                                                            (void);
    QmiMessageOmaStartSessionInput * qmi_message_oma_start_session_input_ref
                                                            (QmiMessageOmaStartSessionInput *self);
    void                qmi_message_oma_start_session_input_unref
                                                            (QmiMessageOmaStartSessionInput *self);
    gboolean            qmi_message_oma_start_session_input_get_session_type
                                                            (QmiMessageOmaStartSessionInput *self,
                                                             QmiOmaSessionType *session_type,
                                                             GError **error);
    gboolean            qmi_message_oma_start_session_input_set_session_type
                                                            (QmiMessageOmaStartSessionInput *self,
                                                             QmiOmaSessionType session_type,
                                                             GError **error);

    QmiMessageOmaStartSessionOutput * qmi_message_oma_start_session_output_ref
                                                            (QmiMessageOmaStartSessionOutput *self);
    void                qmi_message_oma_start_session_output_unref
                                                            (QmiMessageOmaStartSessionOutput *self);
    gboolean            qmi_message_oma_start_session_output_get_result
                                                            (QmiMessageOmaStartSessionOutput *self,
                                                             GError **error);

    void                qmi_client_oma_start_session        (QmiClientOma *self,
                                                             QmiMessageOmaStartSessionInput *input,
                                                             guint timeout,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    QmiMessageOmaStartSessionOutput * qmi_client_oma_start_session_finish
                                                            (QmiClientOma *self,
                                                             GAsyncResult *res,
                                                             GError **error);

## Object Hierarchy

      GBoxed
       +----QmiMessageOmaStartSessionInput

      GBoxed
       +----QmiMessageOmaStartSessionOutput

## Description

## Details

### QmiMessageOmaStartSessionInput

    typedef struct _QmiMessageOmaStartSessionInput QmiMessageOmaStartSessionInput;

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

### QmiMessageOmaStartSessionOutput

    typedef struct _QmiMessageOmaStartSessionOutput QmiMessageOmaStartSessionOutput;

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

### qmi_message_oma_start_session_input_new ()

    QmiMessageOmaStartSessionInput * qmi_message_oma_start_session_input_new
                                                            (void);

Allocates a new QmiMessageOmaStartSessionInput.

Returns : | the newly created QmiMessageOmaStartSessionInput. The returned value should be freed with `qmi_message_oma_start_session_input_unref()`.

### qmi_message_oma_start_session_input_ref ()

    QmiMessageOmaStartSessionInput * qmi_message_oma_start_session_input_ref
                                                            (QmiMessageOmaStartSessionInput *self);

Atomically increments the reference count of `self` by one.

`self` : | a QmiMessageOmaStartSessionInput.
Returns : | the new reference to `self`.

### qmi_message_oma_start_session_input_unref ()

    void                qmi_message_oma_start_session_input_unref
                                                            (QmiMessageOmaStartSessionInput *self);

Atomically decrements the reference count of `self` by one. If the reference count drops to 0, `self` is completely disposed.

`self` : | a QmiMessageOmaStartSessionInput.

### qmi_message_oma_start_session_input_get_session_type ()

    gboolean            qmi_message_oma_start_session_input_get_session_type
                                                            (QmiMessageOmaStartSessionInput *self,
                                                             QmiOmaSessionType *session_type,
                                                             GError **error);

Get the 'Session Type' field from `self`.

`self` : | a QmiMessageOmaStartSessionInput.
`session_type` : | a placeholder for the output QmiOmaSessionType, or `NULL` if not required.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the field is found, `FALSE` otherwise.

### qmi_message_oma_start_session_input_set_session_type ()

    gboolean            qmi_message_oma_start_session_input_set_session_type
                                                            (QmiMessageOmaStartSessionInput *self,
                                                             QmiOmaSessionType session_type,
                                                             GError **error);

Set the 'Session Type' field in the message.

`self` : | a QmiMessageOmaStartSessionInput.
`session_type` : | a QmiOmaSessionType.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if `value` was successfully set, `FALSE` otherwise.

### qmi_message_oma_start_session_output_ref ()

    QmiMessageOmaStartSessionOutput * qmi_message_oma_start_session_output_ref
                                                            (QmiMessageOmaStartSessionOutput *self);

Atomically increments the reference count of `self` by one.

`self` : | a QmiMessageOmaStartSessionOutput.
Returns : | the new reference to `self`.

### qmi_message_oma_start_session_output_unref ()

    void                qmi_message_oma_start_session_output_unref
                                                            (QmiMessageOmaStartSessionOutput *self);

Atomically decrements the reference count of `self` by one. If the reference count drops to 0, `self` is completely disposed.

`self` : | a QmiMessageOmaStartSessionOutput.

### qmi_message_oma_start_session_output_get_result ()

    gboolean            qmi_message_oma_start_session_output_get_result
                                                            (QmiMessageOmaStartSessionOutput *self,
                                                             GError **error);

Get the result of the QMI operation.

`self` : | a QmiMessageOmaStartSessionOutput.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the QMI operation succeeded, `FALSE` if `error` is set.

### qmi_client_oma_start_session ()

    void                qmi_client_oma_start_session        (QmiClientOma *self,
                                                             QmiMessageOmaStartSessionInput *input,
                                                             guint timeout,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously sends a Start Session request to the device.

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 `qmi_client_oma_start_session_finish()` to get the result of the operation.

`self` : | a QmiClientOma.
`input` : | a QmiMessageOmaStartSessionInput.
`timeout` : | maximum time to wait for the method to complete, in seconds.
`cancellable` : | a GCancellable or `NULL`.
`callback` : | a GAsyncReadyCallback to call when the request is satisfied.
`user_data` : | user data to pass to `callback`.

### qmi_client_oma_start_session_finish ()

    QmiMessageOmaStartSessionOutput * qmi_client_oma_start_session_finish
                                                            (QmiClientOma *self,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an async operation started with `qmi_client_oma_start_session()`.

`self` : | a QmiClientOma.
`res` : | the GAsyncResult obtained from the GAsyncReadyCallback passed to `qmi_client_oma_start_session()`.
`error` : | Return location for error or `NULL`.
Returns : | a QmiMessageOmaStartSessionOutput, or `NULL` if `error` is set. The returned value should be freed with `qmi_message_oma_start_session_output_unref()`.