iface-modem-firmware: use G_DECLARE|DEFINE_INTERFACE() macros

This commit is contained in:
Aleksander Morgado
2024-05-06 13:27:05 +00:00
parent 2b7e738b9b
commit e535c90f5f
11 changed files with 82 additions and 106 deletions
+2 -2
View File
@@ -62,7 +62,7 @@ static void iface_modem_cdma_init (MMIfaceModemCdma
static void iface_modem_messaging_init (MMIfaceModemMessaging *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_oma_init (MMIfaceModemOma *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void iface_modem_sar_init (MMIfaceModemSar *iface);
static void iface_modem_signal_init (MMIfaceModemSignal *iface);
static void shared_qmi_init (MMSharedQmi *iface);
@@ -14177,7 +14177,7 @@ iface_modem_oma_init (MMIfaceModemOma *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_list = firmware_load_list;
iface->load_list_finish = firmware_load_list_finish;
+2 -2
View File
@@ -73,7 +73,7 @@ static void iface_modem_voice_init (MMIfaceModemVoice
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void iface_modem_signal_init (MMIfaceModemSignal *iface);
static void iface_modem_oma_init (MMIfaceModemOma *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void iface_modem_sar_init (MMIfaceModemSar *iface);
G_DEFINE_TYPE_EXTENDED (MMBroadbandModem, mm_broadband_modem, MM_TYPE_BASE_MODEM, 0,
@@ -13768,7 +13768,7 @@ iface_modem_oma_init (MMIfaceModemOma *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
}
+46 -64
View File
@@ -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 (
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));
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));
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_once_init_leave (&initialized, 1);
}
+5 -10
View File
@@ -22,17 +22,15 @@
#define _LIBMM_INSIDE_MM
#include <libmm-glib.h>
#define MM_TYPE_IFACE_MODEM_FIRMWARE (mm_iface_modem_firmware_get_type ())
#define MM_IFACE_MODEM_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_IFACE_MODEM_FIRMWARE, MMIfaceModemFirmware))
#define MM_IS_IFACE_MODEM_FIRMWARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_IFACE_MODEM_FIRMWARE))
#define MM_IFACE_MODEM_FIRMWARE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MM_TYPE_IFACE_MODEM_FIRMWARE, MMIfaceModemFirmware))
#include "mm-iface-modem.h"
#define MM_TYPE_IFACE_MODEM_FIRMWARE mm_iface_modem_firmware_get_type ()
G_DECLARE_INTERFACE (MMIfaceModemFirmware, mm_iface_modem_firmware, MM, IFACE_MODEM_FIRMWARE, MMIfaceModem)
#define MM_IFACE_MODEM_FIRMWARE_DBUS_SKELETON "iface-modem-firmware-dbus-skeleton"
#define MM_IFACE_MODEM_FIRMWARE_IGNORE_CARRIER "iface-modem-firmware-ignore-carrier"
typedef struct _MMIfaceModemFirmware MMIfaceModemFirmware;
struct _MMIfaceModemFirmware {
struct _MMIfaceModemFirmwareInterface {
GTypeInterface g_iface;
/* Get update settings (async) */
@@ -69,9 +67,6 @@ struct _MMIfaceModemFirmware {
GError **error);
};
GType mm_iface_modem_firmware_get_type (void);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMIfaceModemFirmware, g_object_unref)
/* Get generic device ids */
GPtrArray *mm_iface_firmware_build_generic_device_ids (MMIfaceModemFirmware *self,
GError **error);
@@ -28,7 +28,7 @@
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
static void iface_modem_3gpp_profile_manager_init (MMIfaceModem3gppProfileManagerInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void shared_fibocom_init (MMSharedFibocom *iface);
static MMIfaceModem3gppInterface *iface_modem_3gpp_parent;
@@ -729,7 +729,7 @@ iface_modem_3gpp_profile_manager_init (MMIfaceModem3gppProfileManagerInterface *
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_fibocom_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_fibocom_firmware_load_update_settings_finish;
@@ -28,9 +28,9 @@
#include "mm-broadband-modem-mbim-fibocom.h"
#include "mm-shared-fibocom.h"
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
static void shared_fibocom_init (MMSharedFibocom *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
static void shared_fibocom_init (MMSharedFibocom *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static MMIfaceModem3gppInterface *iface_modem_3gpp_parent;
@@ -79,7 +79,7 @@ iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_fibocom_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_fibocom_firmware_load_update_settings_finish;
@@ -28,9 +28,9 @@
#include "mm-broadband-modem-mbim-xmm-fibocom.h"
#include "mm-shared-fibocom.h"
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
static void shared_fibocom_init (MMSharedFibocom *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface);
static void shared_fibocom_init (MMSharedFibocom *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static MMIfaceModem3gppInterface *iface_modem_3gpp_parent;
@@ -82,7 +82,7 @@ iface_modem_3gpp_init (MMIfaceModem3gppInterface *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_fibocom_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_fibocom_firmware_load_update_settings_finish;
@@ -39,10 +39,9 @@
# include "mm-log.h"
#endif
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
#endif
static MMIfaceModemLocation *iface_modem_location_parent;
@@ -597,7 +596,7 @@ iface_modem_location_init (MMIfaceModemLocation *iface)
#if defined WITH_QMI && QMI_MBIM_QMUX_SUPPORTED
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = firmware_load_update_settings;
iface->load_update_settings_finish = firmware_load_update_settings_finish;
@@ -22,11 +22,11 @@
#include "mm-iface-modem-time.h"
#include "mm-shared-quectel.h"
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void shared_quectel_init (MMSharedQuectel *iface);
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void shared_quectel_init (MMSharedQuectel *iface);
static MMIfaceModemInterface *iface_modem_parent;
static MMIfaceModemLocation *iface_modem_location_parent;
@@ -81,7 +81,7 @@ iface_modem_init (MMIfaceModemInterface *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_quectel_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_quectel_firmware_load_update_settings_finish;
@@ -26,7 +26,7 @@
#include "mm-shared-quectel.h"
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void iface_modem_3gpp_profile_manager_init (MMIfaceModem3gppProfileManagerInterface *iface);
@@ -163,7 +163,7 @@ iface_modem_init (MMIfaceModemInterface *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_quectel_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_quectel_firmware_load_update_settings_finish;
@@ -22,11 +22,11 @@
#include "mm-iface-modem-time.h"
#include "mm-shared-quectel.h"
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void shared_quectel_init (MMSharedQuectel *iface);
static void iface_modem_init (MMIfaceModemInterface *iface);
static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface);
static void iface_modem_location_init (MMIfaceModemLocation *iface);
static void iface_modem_time_init (MMIfaceModemTime *iface);
static void shared_quectel_init (MMSharedQuectel *iface);
static MMIfaceModemInterface *iface_modem_parent;
static MMIfaceModemLocation *iface_modem_location_parent;
@@ -78,7 +78,7 @@ iface_modem_init (MMIfaceModemInterface *iface)
}
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface)
{
iface->load_update_settings = mm_shared_quectel_firmware_load_update_settings;
iface->load_update_settings_finish = mm_shared_quectel_firmware_load_update_settings_finish;