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

## Functions

const gchar * | mm_gdbus_sim_get_imsi ()
gchar * | mm_gdbus_sim_dup_imsi ()
const gchar * | mm_gdbus_sim_get_sim_identifier ()
gchar * | mm_gdbus_sim_dup_sim_identifier ()
const gchar * | mm_gdbus_sim_get_operator_identifier ()
gchar * | mm_gdbus_sim_dup_operator_identifier ()
const gchar * | mm_gdbus_sim_get_operator_name ()
gchar * | mm_gdbus_sim_dup_operator_name ()
const gchar *const * | mm_gdbus_sim_get_emergency_numbers ()
gchar ** | mm_gdbus_sim_dup_emergency_numbers ()
void | mm_gdbus_sim_call_send_pin ()
gboolean | mm_gdbus_sim_call_send_pin_finish ()
gboolean | mm_gdbus_sim_call_send_pin_sync ()
void | mm_gdbus_sim_call_send_puk ()
gboolean | mm_gdbus_sim_call_send_puk_finish ()
gboolean | mm_gdbus_sim_call_send_puk_sync ()
void | mm_gdbus_sim_call_enable_pin ()
gboolean | mm_gdbus_sim_call_enable_pin_finish ()
gboolean | mm_gdbus_sim_call_enable_pin_sync ()
void | mm_gdbus_sim_call_change_pin ()
gboolean | mm_gdbus_sim_call_change_pin_finish ()
gboolean | mm_gdbus_sim_call_change_pin_sync ()

## Properties

GStrv | emergency-numbers | Read / Write
gchar * | imsi | Read / Write
gchar * | operator-identifier | Read / Write
gchar * | operator-name | Read / Write
gchar * | sim-identifier | Read / Write

## Signals

gboolean | handle-change-pin | Run Last
gboolean | handle-enable-pin | Run Last
gboolean | handle-send-pin | Run Last
gboolean | handle-send-puk | Run Last

## Types and Values

| MmGdbusSim
struct | MmGdbusSimIface

## Object Hierarchy

        GInterface
        ╰── MmGdbusSim

## Prerequisites

MmGdbusSim requires GObject.

## Known Implementations

MmGdbusSim is implemented by MMSim, MmGdbusSimProxy and MmGdbusSimSkeleton.

## Description

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

## Functions

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

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.

[skip]

#### Parameters

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

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

[skip]

#### Parameters

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

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

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.

[skip]

#### Parameters

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

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

[skip]

#### Parameters

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

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

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.

[skip]

#### Parameters

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

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

[skip]

#### Parameters

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

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

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.

[skip]

#### Parameters

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

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

[skip]

#### Parameters

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

### mm_gdbus_sim_get_emergency_numbers ()

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

Gets the value of the "EmergencyNumbers" 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 `mm_gdbus_sim_dup_emergency_numbers()` if on another thread.

[skip]

#### Parameters

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

### mm_gdbus_sim_dup_emergency_numbers ()

    gchar **
    mm_gdbus_sim_dup_emergency_numbers (MmGdbusSim *object);

Gets a copy of the "EmergencyNumbers" 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 MmGdbusSim. |

#### Returns

The property value or `NULL` if the property is not set. The returned value should be freed with `g_strfreev()`.

[transfer full][nullable]

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

#### Parameters

proxy | A MmGdbusSimProxy. |
arg_pin | 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` . |

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

#### Parameters

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

#### Parameters

proxy | A MmGdbusSimProxy. |
arg_pin | 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]

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Returns

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Returns

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Returns

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

[skip]

## Types and Values

### 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 *const * (*get_emergency_numbers) (MmGdbusSim *object);

      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.

#### Members

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_emergency_numbers` () | Getter for the “emergency-numbers” property. |
`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. |

## Property Details

### The `“emergency-numbers”` property

      “emergency-numbers”        GStrv

Represents the D-Bus property "EmergencyNumbers".

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: MmGdbusSim

Flags: Read / Write

### The `“imsi”` property

      “imsi”                     gchar *

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.

Owner: MmGdbusSim

Flags: Read / Write

Default value: NULL

### The `“operator-identifier”` property

      “operator-identifier”      gchar *

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.

Owner: MmGdbusSim

Flags: Read / Write

Default value: NULL

### The `“operator-name”` property

      “operator-name”            gchar *

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.

Owner: MmGdbusSim

Flags: Read / Write

Default value: NULL

### The `“sim-identifier”` property

      “sim-identifier”           gchar *

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.

Owner: MmGdbusSim

Flags: Read / Write

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)

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.

#### Parameters

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.

Flags: Run Last

### The `“handle-enable-pin”` signal

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

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.

#### Parameters

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.

Flags: Run Last

### The `“handle-send-pin”` signal

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

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.

#### Parameters

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.

Flags: Run Last

### The `“handle-send-puk”` signal

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

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.

#### Parameters

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.

Flags: Run Last