diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2024-04-18 11:50:30 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2024-05-06 13:27:05 +0000 |
commit | e535c90f5f2cd7613360bd5880e9a3c0205f8a00 (patch) | |
tree | a43c8b710e3fc0b4d0aacdf37198557180d31a18 /src/mm-iface-modem-firmware.c | |
parent | 2b7e738b9b28ea7f9be5b0a6d0963058fad8d822 (diff) |
iface-modem-firmware: use G_DECLARE|DEFINE_INTERFACE() macros
Diffstat (limited to 'src/mm-iface-modem-firmware.c')
-rw-r--r-- | src/mm-iface-modem-firmware.c | 114 |
1 files changed, 48 insertions, 66 deletions
diff --git a/src/mm-iface-modem-firmware.c b/src/mm-iface-modem-firmware.c index 3a3f30f7..9872db23 100644 --- a/src/mm-iface-modem-firmware.c +++ b/src/mm-iface-modem-firmware.c @@ -29,6 +29,8 @@ # include "mm-broadband-modem-mbim.h" #endif +G_DEFINE_INTERFACE (MMIfaceModemFirmware, mm_iface_modem_firmware, MM_TYPE_IFACE_MODEM) + /*****************************************************************************/ void @@ -70,7 +72,7 @@ load_current_ready (MMIfaceModemFirmware *self, GList *l; GError *error = NULL; - ctx->current = MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_current_finish (self, res, &error); + ctx->current = MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_current_finish (self, res, &error); if (!ctx->current) { /* Not found isn't fatal */ if (!g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND)) { @@ -107,7 +109,7 @@ load_list_ready (MMIfaceModemFirmware *self, { GError *error = NULL; - ctx->list = MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_list_finish (self, res, &error); + ctx->list = MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_list_finish (self, res, &error); if (!ctx->list) { /* Not found isn't fatal */ if (!g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND)) { @@ -119,9 +121,10 @@ load_list_ready (MMIfaceModemFirmware *self, g_clear_error (&error); } - MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_current (MM_IFACE_MODEM_FIRMWARE (self), - (GAsyncReadyCallback)load_current_ready, - ctx); + MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_current ( + MM_IFACE_MODEM_FIRMWARE (self), + (GAsyncReadyCallback)load_current_ready, + ctx); } static void @@ -137,10 +140,10 @@ list_auth_ready (MMBaseModem *self, return; } - if (!MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_list || - !MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_list_finish || - !MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_current || - !MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_current_finish) { + if (!MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_list || + !MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_list_finish || + !MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_current || + !MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_current_finish) { mm_dbus_method_invocation_return_error_literal (ctx->invocation, MM_CORE_ERROR, MM_CORE_ERROR_UNSUPPORTED, "Cannot list firmware: operation not supported"); handle_list_context_free (ctx); @@ -148,9 +151,10 @@ list_auth_ready (MMBaseModem *self, } mm_obj_info (self, "processing user request to load firmware list..."); - MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_list (MM_IFACE_MODEM_FIRMWARE (self), - (GAsyncReadyCallback)load_list_ready, - ctx); + MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_list ( + MM_IFACE_MODEM_FIRMWARE (self), + (GAsyncReadyCallback)load_list_ready, + ctx); } static gboolean @@ -201,7 +205,7 @@ change_current_ready (MMIfaceModemFirmware *self, { GError *error = NULL; - if (!MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->change_current_finish (self, res, &error)) + if (!MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->change_current_finish (self, res, &error)) mm_dbus_method_invocation_take_error (ctx->invocation, error); else mm_gdbus_modem_firmware_complete_select (ctx->skeleton, ctx->invocation); @@ -222,8 +226,8 @@ select_auth_ready (MMBaseModem *self, } - if (!MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->change_current || - !MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->change_current_finish) { + if (!MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->change_current || + !MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->change_current_finish) { mm_dbus_method_invocation_return_error_literal (ctx->invocation, MM_CORE_ERROR, MM_CORE_ERROR_UNSUPPORTED, "Cannot select firmware: operation not supported"); handle_select_context_free (ctx); @@ -231,10 +235,11 @@ select_auth_ready (MMBaseModem *self, } mm_obj_info (self, "processing user request to select firmware..."); - MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->change_current (MM_IFACE_MODEM_FIRMWARE (self), - ctx->name, - (GAsyncReadyCallback)change_current_ready, - ctx); + MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->change_current ( + MM_IFACE_MODEM_FIRMWARE (self), + ctx->name, + (GAsyncReadyCallback)change_current_ready, + ctx); } static gboolean @@ -417,7 +422,7 @@ load_update_settings_ready (MMIfaceModemFirmware *self, ctx = g_task_get_task_data (task); - update_settings = MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_update_settings_finish (self, res, &error); + update_settings = MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_update_settings_finish (self, res, &error); if (!update_settings) { mm_obj_dbg (self, "couldn't load update settings: %s", error->message); g_error_free (error); @@ -482,9 +487,9 @@ interface_initialization_step (GTask *task) /* fall through */ case INITIALIZATION_STEP_UPDATE_SETTINGS: - if (MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_update_settings && - MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_update_settings_finish) { - MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE (self)->load_update_settings ( + if (MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_update_settings && + MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_update_settings_finish) { + MM_IFACE_MODEM_FIRMWARE_GET_IFACE (self)->load_update_settings ( self, (GAsyncReadyCallback)load_update_settings_ready, task); @@ -564,52 +569,29 @@ mm_iface_modem_firmware_shutdown (MMIfaceModemFirmware *self) /*****************************************************************************/ static void -iface_modem_firmware_init (gpointer g_iface) +mm_iface_modem_firmware_default_init (MMIfaceModemFirmwareInterface *iface) { - static gboolean initialized = FALSE; + static gsize initialized = 0; - if (initialized) + if (!g_once_init_enter (&initialized)) return; /* Properties */ - g_object_interface_install_property - (g_iface, - g_param_spec_object (MM_IFACE_MODEM_FIRMWARE_DBUS_SKELETON, - "Firmware DBus skeleton", - "DBus skeleton for the Firmware interface", - MM_GDBUS_TYPE_MODEM_FIRMWARE_SKELETON, - G_PARAM_READWRITE)); - - g_object_interface_install_property - (g_iface, - g_param_spec_boolean (MM_IFACE_MODEM_FIRMWARE_IGNORE_CARRIER, - "Ignore carrier info in firmware details", - "Whether carrier info (version, name) should be ignored when showing the firmware details", - FALSE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - - initialized = TRUE; -} - -GType -mm_iface_modem_firmware_get_type (void) -{ - static GType iface_modem_firmware_type = 0; - - if (!G_UNLIKELY (iface_modem_firmware_type)) { - static const GTypeInfo info = { - sizeof (MMIfaceModemFirmware), /* class_size */ - iface_modem_firmware_init, /* base_init */ - NULL, /* base_finalize */ - }; - - iface_modem_firmware_type = g_type_register_static (G_TYPE_INTERFACE, - "MMIfaceModemFirmware", - &info, - 0); - - g_type_interface_add_prerequisite (iface_modem_firmware_type, MM_TYPE_IFACE_MODEM); - } - - return iface_modem_firmware_type; + g_object_interface_install_property ( + iface, + g_param_spec_object (MM_IFACE_MODEM_FIRMWARE_DBUS_SKELETON, + "Firmware DBus skeleton", + "DBus skeleton for the Firmware interface", + MM_GDBUS_TYPE_MODEM_FIRMWARE_SKELETON, + G_PARAM_READWRITE)); + + g_object_interface_install_property ( + iface, + g_param_spec_boolean (MM_IFACE_MODEM_FIRMWARE_IGNORE_CARRIER, + "Ignore carrier info in firmware details", + "Whether carrier info (version, name) should be ignored when showing the firmware details", + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_once_init_leave (&initialized, 1); } |