diff options
Diffstat (limited to 'src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c')
-rw-r--r-- | src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c b/src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c index a94ba545..e00086e3 100644 --- a/src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c +++ b/src/plugins/fibocom/mm-broadband-modem-mbim-fibocom.c @@ -30,6 +30,8 @@ static void shared_fibocom_init (MMSharedFibocomInterface *iface); static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface); +static MMIfaceModemFirmwareInterface *iface_modem_firmware_parent; + G_DEFINE_TYPE_EXTENDED (MMBroadbandModemMbimFibocom, mm_broadband_modem_mbim_fibocom, MM_TYPE_BROADBAND_MODEM_MBIM, 0, G_IMPLEMENT_INTERFACE (MM_TYPE_SHARED_FIBOCOM, shared_fibocom_init) G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_FIRMWARE, iface_modem_firmware_init)) @@ -67,10 +69,18 @@ mm_broadband_modem_mbim_fibocom_init (MMBroadbandModemMbimFibocom *self) static void iface_modem_firmware_init (MMIfaceModemFirmwareInterface *iface) { + iface_modem_firmware_parent = g_type_interface_peek_parent (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; } +static MMIfaceModemFirmwareInterface * +peek_parent_firmware_interface (MMSharedFibocom *self) +{ + return iface_modem_firmware_parent; +} + static MMBaseModemClass * peek_parent_class (MMSharedFibocom *self) { @@ -81,6 +91,7 @@ static void shared_fibocom_init (MMSharedFibocomInterface *iface) { iface->peek_parent_class = peek_parent_class; + iface->peek_parent_firmware_interface = peek_parent_firmware_interface; } static void |