## DMS UIM Change PIN DMS UIM Change PIN |

## Synopsis

                        QmiMessageDmsUimChangePinInput;
                        QmiMessageDmsUimChangePinOutput;

    QmiMessageDmsUimChangePinInput * qmi_message_dms_uim_change_pin_input_new
                                                            (void);
    QmiMessageDmsUimChangePinInput * qmi_message_dms_uim_change_pin_input_ref
                                                            (QmiMessageDmsUimChangePinInput *self);
    void                qmi_message_dms_uim_change_pin_input_unref
                                                            (QmiMessageDmsUimChangePinInput *self);
    gboolean            qmi_message_dms_uim_change_pin_input_get_info
                                                            (QmiMessageDmsUimChangePinInput *self,
                                                             QmiDmsUimPinId *info_pin_id,
                                                             const gchar **info_old_pin,
                                                             const gchar **info_new_pin,
                                                             GError **error);
    gboolean            qmi_message_dms_uim_change_pin_input_set_info
                                                            (QmiMessageDmsUimChangePinInput *self,
                                                             QmiDmsUimPinId info_pin_id,
                                                             const gchar *info_old_pin,
                                                             const gchar *info_new_pin,
                                                             GError **error);

    QmiMessageDmsUimChangePinOutput * qmi_message_dms_uim_change_pin_output_ref
                                                            (QmiMessageDmsUimChangePinOutput *self);
    void                qmi_message_dms_uim_change_pin_output_unref
                                                            (QmiMessageDmsUimChangePinOutput *self);
    gboolean            qmi_message_dms_uim_change_pin_output_get_result
                                                            (QmiMessageDmsUimChangePinOutput *self,
                                                             GError **error);
    gboolean            qmi_message_dms_uim_change_pin_output_get_pin_retries_status
                                                            (QmiMessageDmsUimChangePinOutput *self,
                                                             guint8 *pin_retries_status_verify_retries_left,
                                                             guint8 *pin_retries_status_unblock_retries_left,
                                                             GError **error);

    void                qmi_client_dms_uim_change_pin       (QmiClientDms *self,
                                                             QmiMessageDmsUimChangePinInput *input,
                                                             guint timeout,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    QmiMessageDmsUimChangePinOutput * qmi_client_dms_uim_change_pin_finish
                                                            (QmiClientDms *self,
                                                             GAsyncResult *res,
                                                             GError **error);

## Object Hierarchy

      GBoxed
       +----QmiMessageDmsUimChangePinInput

      GBoxed
       +----QmiMessageDmsUimChangePinOutput

## Description

## Details

### QmiMessageDmsUimChangePinInput

    typedef struct _QmiMessageDmsUimChangePinInput QmiMessageDmsUimChangePinInput;

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

### QmiMessageDmsUimChangePinOutput

    typedef struct _QmiMessageDmsUimChangePinOutput QmiMessageDmsUimChangePinOutput;

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

### qmi_message_dms_uim_change_pin_input_new ()

    QmiMessageDmsUimChangePinInput * qmi_message_dms_uim_change_pin_input_new
                                                            (void);

Allocates a new QmiMessageDmsUimChangePinInput.

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

### qmi_message_dms_uim_change_pin_input_ref ()

    QmiMessageDmsUimChangePinInput * qmi_message_dms_uim_change_pin_input_ref
                                                            (QmiMessageDmsUimChangePinInput *self);

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

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

### qmi_message_dms_uim_change_pin_input_unref ()

    void                qmi_message_dms_uim_change_pin_input_unref
                                                            (QmiMessageDmsUimChangePinInput *self);

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

`self` : | a QmiMessageDmsUimChangePinInput.

### qmi_message_dms_uim_change_pin_input_get_info ()

    gboolean            qmi_message_dms_uim_change_pin_input_get_info
                                                            (QmiMessageDmsUimChangePinInput *self,
                                                             QmiDmsUimPinId *info_pin_id,
                                                             const gchar **info_old_pin,
                                                             const gchar **info_new_pin,
                                                             GError **error);

Get the 'Info' field from `self`.

`self` : | a QmiMessageDmsUimChangePinInput.
`info_pin_id` : | a placeholder for the output QmiDmsUimPinId, or `NULL` if not required.
`info_old_pin` : | a placeholder for the output constant string, or `NULL` if not required.
`info_new_pin` : | a placeholder for the output constant string, or `NULL` if not required.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the field is found, `FALSE` otherwise.

### qmi_message_dms_uim_change_pin_input_set_info ()

    gboolean            qmi_message_dms_uim_change_pin_input_set_info
                                                            (QmiMessageDmsUimChangePinInput *self,
                                                             QmiDmsUimPinId info_pin_id,
                                                             const gchar *info_old_pin,
                                                             const gchar *info_new_pin,
                                                             GError **error);

Set the 'Info' field in the message.

`self` : | a QmiMessageDmsUimChangePinInput.
`info_pin_id` : | a QmiDmsUimPinId.
`info_old_pin` : | a constant string.
`info_new_pin` : | a constant string.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if `value` was successfully set, `FALSE` otherwise.

### qmi_message_dms_uim_change_pin_output_ref ()

    QmiMessageDmsUimChangePinOutput * qmi_message_dms_uim_change_pin_output_ref
                                                            (QmiMessageDmsUimChangePinOutput *self);

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

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

### qmi_message_dms_uim_change_pin_output_unref ()

    void                qmi_message_dms_uim_change_pin_output_unref
                                                            (QmiMessageDmsUimChangePinOutput *self);

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

`self` : | a QmiMessageDmsUimChangePinOutput.

### qmi_message_dms_uim_change_pin_output_get_result ()

    gboolean            qmi_message_dms_uim_change_pin_output_get_result
                                                            (QmiMessageDmsUimChangePinOutput *self,
                                                             GError **error);

Get the result of the QMI operation.

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

### qmi_message_dms_uim_change_pin_output_get_pin_retries_status ()

    gboolean            qmi_message_dms_uim_change_pin_output_get_pin_retries_status
                                                            (QmiMessageDmsUimChangePinOutput *self,
                                                             guint8 *pin_retries_status_verify_retries_left,
                                                             guint8 *pin_retries_status_unblock_retries_left,
                                                             GError **error);

Get the 'Pin Retries Status' field from `self`.

`self` : | a QmiMessageDmsUimChangePinOutput.
`pin_retries_status_verify_retries_left` : | a placeholder for the output guint8, or `NULL` if not required.
`pin_retries_status_unblock_retries_left` : | a placeholder for the output guint8, or `NULL` if not required.
`error` : | Return location for error or `NULL`.
Returns : | `TRUE` if the field is found, `FALSE` otherwise.

### qmi_client_dms_uim_change_pin ()

    void                qmi_client_dms_uim_change_pin       (QmiClientDms *self,
                                                             QmiMessageDmsUimChangePinInput *input,
                                                             guint timeout,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

Asynchronously sends a UIM Change PIN 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_dms_uim_change_pin_finish()` to get the result of the operation.

`self` : | a QmiClientDms.
`input` : | a QmiMessageDmsUimChangePinInput.
`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_dms_uim_change_pin_finish ()

    QmiMessageDmsUimChangePinOutput * qmi_client_dms_uim_change_pin_finish
                                                            (QmiClientDms *self,
                                                             GAsyncResult *res,
                                                             GError **error);

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

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