MmGdbusSim

## MmGdbusSim MmGdbusSim — Generated C code for the org.freedesktop.ModemManager1.Sim D-Bus interface |

## Synopsis

                        MmGdbusSim;
    struct              MmGdbusSimIface;

    const gchar *       mm_gdbus_sim_get_imsi               (MmGdbusSim *object);
    gchar *             mm_gdbus_sim_dup_imsi               (MmGdbusSim *object);
    const gchar *       mm_gdbus_sim_get_sim_identifier     (MmGdbusSim *object);
    gchar *             mm_gdbus_sim_dup_sim_identifier     (MmGdbusSim *object);
    const gchar *       mm_gdbus_sim_get_operator_identifier
                                                            (MmGdbusSim *object);
    gchar *             mm_gdbus_sim_dup_operator_identifier
                                                            (MmGdbusSim *object);
    const gchar *       mm_gdbus_sim_get_operator_name      (MmGdbusSim *object);
    gchar *             mm_gdbus_sim_dup_operator_name      (MmGdbusSim *object);

    void                mm_gdbus_sim_call_send_pin          (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            mm_gdbus_sim_call_send_pin_finish   (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            mm_gdbus_sim_call_send_pin_sync     (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                mm_gdbus_sim_call_send_puk          (MmGdbusSim *proxy,
                                                             const gchar *arg_puk,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            mm_gdbus_sim_call_send_puk_finish   (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            mm_gdbus_sim_call_send_puk_sync     (MmGdbusSim *proxy,
                                                             const gchar *arg_puk,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                mm_gdbus_sim_call_enable_pin        (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             gboolean arg_enabled,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            mm_gdbus_sim_call_enable_pin_finish (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            mm_gdbus_sim_call_enable_pin_sync   (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             gboolean arg_enabled,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                mm_gdbus_sim_call_change_pin        (MmGdbusSim *proxy,
                                                             const gchar *arg_old_pin,
                                                             const gchar *arg_new_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            mm_gdbus_sim_call_change_pin_finish (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);
    gboolean            mm_gdbus_sim_call_change_pin_sync   (MmGdbusSim *proxy,
                                                             const gchar *arg_old_pin,
                                                             const gchar *arg_new_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);

## Object Hierarchy

      GInterface
       +----MmGdbusSim

## Prerequisites

MmGdbusSim requires GObject.

## Known Implementations

MmGdbusSim is implemented by MMSim, MmGdbusSimProxy and MmGdbusSimSkeleton.

## Properties

      "imsi"                     gchar*                : Read / Write
      "operator-identifier"      gchar*                : Read / Write
      "operator-name"            gchar*                : Read / Write
      "sim-identifier"           gchar*                : Read / Write

## Signals

      "handle-change-pin"                              : Run Last
      "handle-enable-pin"                              : Run Last
      "handle-send-pin"                                : Run Last
      "handle-send-puk"                                : Run Last

## Description

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

## Details

### MmGdbusSim

    typedef struct _MmGdbusSim MmGdbusSim;

Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Sim.

### struct MmGdbusSimIface

    struct MmGdbusSimIface {
      GTypeInterface parent_iface;

      gboolean (*handle_change_pin) (
        MmGdbusSim *object,
        GDBusMethodInvocation *invocation,
        const gchar *arg_old_pin,
        const gchar *arg_new_pin);

      gboolean (*handle_enable_pin) (
        MmGdbusSim *object,
        GDBusMethodInvocation *invocation,
        const gchar *arg_pin,
        gboolean arg_enabled);

      gboolean (*handle_send_pin) (
        MmGdbusSim *object,
        GDBusMethodInvocation *invocation,
        const gchar *arg_pin);

      gboolean (*handle_send_puk) (
        MmGdbusSim *object,
        GDBusMethodInvocation *invocation,
        const gchar *arg_puk,
        const gchar *arg_pin);

      const gchar * (*get_imsi) (MmGdbusSim *object);

      const gchar * (*get_operator_identifier) (MmGdbusSim *object);

      const gchar * (*get_operator_name) (MmGdbusSim *object);

      const gchar * (*get_sim_identifier) (MmGdbusSim *object);
    };

Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Sim.

GTypeInterface `parent_iface`; | The parent interface.
`handle_change_pin` () | Handler for the "handle-change-pin" signal.
`handle_enable_pin` () | Handler for the "handle-enable-pin" signal.
`handle_send_pin` () | Handler for the "handle-send-pin" signal.
`handle_send_puk` () | Handler for the "handle-send-puk" signal.
`get_imsi` () | Getter for the "imsi" property.
`get_operator_identifier` () | Getter for the "operator-identifier" property.
`get_operator_name` () | Getter for the "operator-name" property.
`get_sim_identifier` () | Getter for the "sim-identifier" property.

### mm_gdbus_sim_get_imsi ()

    const gchar *       mm_gdbus_sim_get_imsi               (MmGdbusSim *object);

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

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

### Warning

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

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

### mm_gdbus_sim_dup_imsi ()

    gchar *             mm_gdbus_sim_dup_imsi               (MmGdbusSim *object);

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

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

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

### mm_gdbus_sim_get_sim_identifier ()

    const gchar *       mm_gdbus_sim_get_sim_identifier     (MmGdbusSim *object);

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

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

### Warning

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

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

### mm_gdbus_sim_dup_sim_identifier ()

    gchar *             mm_gdbus_sim_dup_sim_identifier     (MmGdbusSim *object);

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

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

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

### mm_gdbus_sim_get_operator_identifier ()

    const gchar *       mm_gdbus_sim_get_operator_identifier
                                                            (MmGdbusSim *object);

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

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

### Warning

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

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

### mm_gdbus_sim_dup_operator_identifier ()

    gchar *             mm_gdbus_sim_dup_operator_identifier
                                                            (MmGdbusSim *object);

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

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

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

### mm_gdbus_sim_get_operator_name ()

    const gchar *       mm_gdbus_sim_get_operator_name      (MmGdbusSim *object);

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

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

### Warning

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

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

### mm_gdbus_sim_dup_operator_name ()

    gchar *             mm_gdbus_sim_dup_operator_name      (MmGdbusSim *object);

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

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

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

### mm_gdbus_sim_call_send_pin ()

    void                mm_gdbus_sim_call_send_pin          (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

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

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

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

### mm_gdbus_sim_call_send_pin_finish ()

    gboolean            mm_gdbus_sim_call_send_pin_finish   (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `mm_gdbus_sim_call_send_pin()`.

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

### mm_gdbus_sim_call_send_pin_sync ()

    gboolean            mm_gdbus_sim_call_send_pin_sync     (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);

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

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

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

### mm_gdbus_sim_call_send_puk ()

    void                mm_gdbus_sim_call_send_puk          (MmGdbusSim *proxy,
                                                             const gchar *arg_puk,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

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

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

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

### mm_gdbus_sim_call_send_puk_finish ()

    gboolean            mm_gdbus_sim_call_send_puk_finish   (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `mm_gdbus_sim_call_send_puk()`.

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

### mm_gdbus_sim_call_send_puk_sync ()

    gboolean            mm_gdbus_sim_call_send_puk_sync     (MmGdbusSim *proxy,
                                                             const gchar *arg_puk,
                                                             const gchar *arg_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);

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

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

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

### mm_gdbus_sim_call_enable_pin ()

    void                mm_gdbus_sim_call_enable_pin        (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             gboolean arg_enabled,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

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

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

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

### mm_gdbus_sim_call_enable_pin_finish ()

    gboolean            mm_gdbus_sim_call_enable_pin_finish (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `mm_gdbus_sim_call_enable_pin()`.

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

### mm_gdbus_sim_call_enable_pin_sync ()

    gboolean            mm_gdbus_sim_call_enable_pin_sync   (MmGdbusSim *proxy,
                                                             const gchar *arg_pin,
                                                             gboolean arg_enabled,
                                                             GCancellable *cancellable,
                                                             GError **error);

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

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

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

### mm_gdbus_sim_call_change_pin ()

    void                mm_gdbus_sim_call_change_pin        (MmGdbusSim *proxy,
                                                             const gchar *arg_old_pin,
                                                             const gchar *arg_new_pin,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

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

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

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

### mm_gdbus_sim_call_change_pin_finish ()

    gboolean            mm_gdbus_sim_call_change_pin_finish (MmGdbusSim *proxy,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes an operation started with `mm_gdbus_sim_call_change_pin()`.

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

### mm_gdbus_sim_call_change_pin_sync ()

    gboolean            mm_gdbus_sim_call_change_pin_sync   (MmGdbusSim *proxy,
                                                             const gchar *arg_old_pin,
                                                             const gchar *arg_new_pin,
                                                             GCancellable *cancellable,
                                                             GError **error);

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

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

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

## Property Details

### The `"imsi"` property

      "imsi"                     gchar*                : Read / Write

Represents the D-Bus property "Imsi".

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

Default value: NULL

### The `"operator-identifier"` property

      "operator-identifier"      gchar*                : Read / Write

Represents the D-Bus property "OperatorIdentifier".

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

Default value: NULL

### The `"operator-name"` property

      "operator-name"            gchar*                : Read / Write

Represents the D-Bus property "OperatorName".

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

Default value: NULL

### The `"sim-identifier"` property

      "sim-identifier"           gchar*                : Read / Write

Represents the D-Bus property "SimIdentifier".

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

Default value: NULL

## Signal Details

### The `"handle-change-pin"` signal

    gboolean            user_function                      (MmGdbusSim            *object,
                                                            GDBusMethodInvocation *invocation,
                                                            gchar                 *arg_old_pin,
                                                            gchar                 *arg_new_pin,
                                                            gpointer               user_data)        : Run Last

Signal emitted when a remote caller is invoking the `ChangePin()` 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 `mm_gdbus_sim_complete_change_pin()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

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

### The `"handle-enable-pin"` signal

    gboolean            user_function                      (MmGdbusSim            *object,
                                                            GDBusMethodInvocation *invocation,
                                                            gchar                 *arg_pin,
                                                            gboolean               arg_enabled,
                                                            gpointer               user_data)        : Run Last

Signal emitted when a remote caller is invoking the `EnablePin()` 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 `mm_gdbus_sim_complete_enable_pin()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

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

### The `"handle-send-pin"` signal

    gboolean            user_function                      (MmGdbusSim            *object,
                                                            GDBusMethodInvocation *invocation,
                                                            gchar                 *arg_pin,
                                                            gpointer               user_data)       : Run Last

Signal emitted when a remote caller is invoking the `SendPin()` 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 `mm_gdbus_sim_complete_send_pin()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

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

### The `"handle-send-puk"` signal

    gboolean            user_function                      (MmGdbusSim            *object,
                                                            GDBusMethodInvocation *invocation,
                                                            gchar                 *arg_puk,
                                                            gchar                 *arg_pin,
                                                            gpointer               user_data)       : Run Last

Signal emitted when a remote caller is invoking the `SendPuk()` 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 `mm_gdbus_sim_complete_send_puk()` or e.g. `g_dbus_method_invocation_return_error()` on it) and no order signal handlers will run. If no signal handler handles the invocation, the `G_DBUS_ERROR_UNKNOWN_METHOD` error is returned.

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