aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mm-modem-gobi-gsm.c43
-rw-r--r--plugins/mm-modem-hso.c43
-rw-r--r--plugins/mm-modem-huawei-cdma.c37
-rw-r--r--plugins/mm-modem-huawei-gsm.c41
-rw-r--r--plugins/mm-modem-mbm.c50
-rw-r--r--plugins/mm-modem-moto-c-gsm.c43
-rw-r--r--plugins/mm-modem-nokia.c35
-rw-r--r--plugins/mm-modem-novatel-gsm.c36
-rw-r--r--plugins/mm-modem-option.c42
-rw-r--r--plugins/mm-modem-sierra-cdma.c25
-rw-r--r--plugins/mm-modem-sierra-gsm.c34
-rw-r--r--plugins/mm-modem-zte.c33
12 files changed, 66 insertions, 396 deletions
diff --git a/plugins/mm-modem-gobi-gsm.c b/plugins/mm-modem-gobi-gsm.c
index 54cc86af..8b8370ca 100644
--- a/plugins/mm-modem-gobi-gsm.c
+++ b/plugins/mm-modem-gobi-gsm.c
@@ -24,7 +24,13 @@
#include "mm-callback-info.h"
#include "mm-modem-gsm-card.h"
-static gpointer mm_modem_gobi_gsm_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_gsm_card_init (MMModemGsmCard *gsm_card_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemGobiGsm, mm_modem_gobi_gsm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_CARD, modem_gsm_card_init))
+
MMModem *
mm_modem_gobi_gsm_new (const char *device,
@@ -133,38 +139,3 @@ mm_modem_gobi_gsm_class_init (MMModemGobiGsmClass *klass)
MM_GENERIC_GSM_INIT_CMD);
}
-GType
-mm_modem_gobi_gsm_get_type (void)
-{
- static GType modem_gobi_gsm_type = 0;
-
- if (G_UNLIKELY (modem_gobi_gsm_type == 0)) {
- static const GTypeInfo modem_gobi_gsm_type_info = {
- sizeof (MMModemGobiGsmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_gobi_gsm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemGobiGsm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_gobi_gsm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_gsm_card_info = {
- (GInterfaceInitFunc) modem_gsm_card_init
- };
-
- modem_gobi_gsm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemGobiGsm",
- &modem_gobi_gsm_type_info, 0);
-
- g_type_add_interface_static (modem_gobi_gsm_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_gobi_gsm_type, MM_TYPE_MODEM_GSM_CARD, &modem_gsm_card_info);
- }
-
- return modem_gobi_gsm_type;
-}
diff --git a/plugins/mm-modem-hso.c b/plugins/mm-modem-hso.c
index 6e1f768a..97ff7c36 100644
--- a/plugins/mm-modem-hso.c
+++ b/plugins/mm-modem-hso.c
@@ -38,7 +38,12 @@ static void impl_hso_authenticate (MMModemHso *self,
#include "mm-modem-gsm-hso-glue.h"
-static gpointer mm_modem_hso_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_simple_init (MMModemSimple *simple_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemHso, mm_modem_hso, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_SIMPLE, modem_simple_init))
#define MM_MODEM_HSO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_HSO, MMModemHsoPrivate))
@@ -685,39 +690,3 @@ mm_modem_hso_class_init (MMModemHsoClass *klass)
object_class->finalize = finalize;
}
-GType
-mm_modem_hso_get_type (void)
-{
- static GType modem_hso_type = 0;
-
- if (G_UNLIKELY (modem_hso_type == 0)) {
- static const GTypeInfo modem_hso_type_info = {
- sizeof (MMModemHsoClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_hso_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemHso),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_hso_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_simple_info = {
- (GInterfaceInitFunc) modem_simple_init
- };
-
- modem_hso_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemHso", &modem_hso_type_info, 0);
-
- g_type_add_interface_static (modem_hso_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_hso_type, MM_TYPE_MODEM_SIMPLE, &modem_simple_info);
-
- dbus_g_object_type_install_info (modem_hso_type, &dbus_glib_mm_modem_gsm_hso_object_info);
- }
-
- return modem_hso_type;
-}
diff --git a/plugins/mm-modem-huawei-cdma.c b/plugins/mm-modem-huawei-cdma.c
index 7a9fda86..25c7b373 100644
--- a/plugins/mm-modem-huawei-cdma.c
+++ b/plugins/mm-modem-huawei-cdma.c
@@ -28,12 +28,11 @@
#include "mm-serial-port.h"
#include "mm-serial-parsers.h"
-static gpointer mm_modem_huawei_cdma_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
-#define MM_MODEM_HUAWEI_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_HUAWEI_CDMA, MMModemHuaweiCdmaPrivate))
+G_DEFINE_TYPE_EXTENDED (MMModemHuaweiCdma, mm_modem_huawei_cdma, MM_TYPE_GENERIC_CDMA, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init))
-typedef struct {
-} MMModemHuaweiCdmaPrivate;
MMModem *
mm_modem_huawei_cdma_new (const char *device,
@@ -260,40 +259,10 @@ mm_modem_huawei_cdma_init (MMModemHuaweiCdma *self)
static void
mm_modem_huawei_cdma_class_init (MMModemHuaweiCdmaClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
MMGenericCdmaClass *cdma_class = MM_GENERIC_CDMA_CLASS (klass);
mm_modem_huawei_cdma_parent_class = g_type_class_peek_parent (klass);
- g_type_class_add_private (object_class, sizeof (MMModemHuaweiCdmaPrivate));
cdma_class->query_registration_state = query_registration_state;
}
-GType
-mm_modem_huawei_cdma_get_type (void)
-{
- static GType modem_huawei_cdma_type = 0;
-
- if (G_UNLIKELY (modem_huawei_cdma_type == 0)) {
- static const GTypeInfo modem_huawei_cdma_type_info = {
- sizeof (MMModemHuaweiCdmaClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_huawei_cdma_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemHuaweiCdma),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_huawei_cdma_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- modem_huawei_cdma_type = g_type_register_static (MM_TYPE_GENERIC_CDMA, "MMModemHuaweiCdma", &modem_huawei_cdma_type_info, 0);
- g_type_add_interface_static (modem_huawei_cdma_type, MM_TYPE_MODEM, &modem_iface_info);
- }
-
- return modem_huawei_cdma_type;
-}
diff --git a/plugins/mm-modem-huawei-gsm.c b/plugins/mm-modem-huawei-gsm.c
index c03ab29f..d450f258 100644
--- a/plugins/mm-modem-huawei-gsm.c
+++ b/plugins/mm-modem-huawei-gsm.c
@@ -28,7 +28,13 @@
#include "mm-serial-port.h"
#include "mm-serial-parsers.h"
-static gpointer mm_modem_huawei_gsm_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_gsm_network_init (MMModemGsmNetwork *gsm_network_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemHuaweiGsm, mm_modem_huawei_gsm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_NETWORK, modem_gsm_network_init))
+
#define MM_MODEM_HUAWEI_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_HUAWEI_GSM, MMModemHuaweiGsmPrivate))
@@ -613,36 +619,3 @@ mm_modem_huawei_gsm_class_init (MMModemHuaweiGsmClass *klass)
g_type_class_add_private (object_class, sizeof (MMModemHuaweiGsmPrivate));
}
-GType
-mm_modem_huawei_gsm_get_type (void)
-{
- static GType modem_huawei_gsm_type = 0;
-
- if (G_UNLIKELY (modem_huawei_gsm_type == 0)) {
- static const GTypeInfo modem_huawei_gsm_type_info = {
- sizeof (MMModemHuaweiGsmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_huawei_gsm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemHuaweiGsm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_huawei_gsm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_gsm_network_info = {
- (GInterfaceInitFunc) modem_gsm_network_init
- };
-
- modem_huawei_gsm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemHuaweiGsm", &modem_huawei_gsm_type_info, 0);
- g_type_add_interface_static (modem_huawei_gsm_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_huawei_gsm_type, MM_TYPE_MODEM_GSM_NETWORK, &modem_gsm_network_info);
- }
-
- return modem_huawei_gsm_type;
-}
diff --git a/plugins/mm-modem-mbm.c b/plugins/mm-modem-mbm.c
index 75cebbf2..cb0ba816 100644
--- a/plugins/mm-modem-mbm.c
+++ b/plugins/mm-modem-mbm.c
@@ -33,6 +33,15 @@
#include "mm-errors.h"
#include "mm-callback-info.h"
+static void modem_init (MMModem *modem_class);
+static void modem_gsm_network_init (MMModemGsmNetwork *gsm_network_class);
+static void modem_simple_init (MMModemSimple *class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemMbm, mm_modem_mbm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_NETWORK, modem_gsm_network_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_SIMPLE, modem_simple_init))
+
#define MM_MODEM_MBM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_MBM, MMModemMbmPrivate))
#define MBM_E2NAP_DISCONNECTED 0
@@ -50,8 +59,6 @@
#define MBM_ERINFO_3G_UMTS 1
#define MBM_ERINFO_3G_HSDPA 2
-static gpointer mm_modem_mbm_parent_class = NULL;
-
typedef struct {
guint reg_id;
gboolean have_emrdy;
@@ -802,42 +809,3 @@ mm_modem_mbm_class_init (MMModemMbmClass *klass)
object_class->finalize = finalize;
}
-GType
-mm_modem_mbm_get_type (void)
-{
- static GType modem_mbm_type = 0;
-
- if (G_UNLIKELY (modem_mbm_type == 0)) {
- static const GTypeInfo modem_mbm_type_info = {
- sizeof (MMModemMbmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_mbm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemMbm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_mbm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_simple_info = {
- (GInterfaceInitFunc) modem_simple_init
- };
-
- static const GInterfaceInfo modem_gsm_network_info = {
- (GInterfaceInitFunc) modem_gsm_network_init
- };
-
- modem_mbm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemMbm", &modem_mbm_type_info, 0);
-
- g_type_add_interface_static (modem_mbm_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_mbm_type, MM_TYPE_MODEM_SIMPLE, &modem_simple_info);
- g_type_add_interface_static (modem_mbm_type, MM_TYPE_MODEM_GSM_NETWORK, &modem_gsm_network_info);
- }
-
- return modem_mbm_type;
-}
diff --git a/plugins/mm-modem-moto-c-gsm.c b/plugins/mm-modem-moto-c-gsm.c
index cba7b920..5910ff29 100644
--- a/plugins/mm-modem-moto-c-gsm.c
+++ b/plugins/mm-modem-moto-c-gsm.c
@@ -24,7 +24,13 @@
#include "mm-callback-info.h"
#include "mm-modem-gsm-card.h"
-static gpointer mm_modem_moto_c_gsm_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_gsm_card_init (MMModemGsmCard *gsm_card_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemMotoCGsm, mm_modem_moto_c_gsm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_CARD, modem_gsm_card_init))
+
MMModem *
mm_modem_moto_c_gsm_new (const char *device,
@@ -121,38 +127,3 @@ mm_modem_moto_c_gsm_class_init (MMModemMotoCGsmClass *klass)
MM_GENERIC_GSM_POWER_DOWN_CMD);
}
-GType
-mm_modem_moto_c_gsm_get_type (void)
-{
- static GType modem_moto_c_gsm_type = 0;
-
- if (G_UNLIKELY (modem_moto_c_gsm_type == 0)) {
- static const GTypeInfo modem_moto_c_gsm_type_info = {
- sizeof (MMModemMotoCGsmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_moto_c_gsm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemMotoCGsm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_moto_c_gsm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_gsm_card_info = {
- (GInterfaceInitFunc) modem_gsm_card_init
- };
-
- modem_moto_c_gsm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemMotoCGsm",
- &modem_moto_c_gsm_type_info, 0);
-
- g_type_add_interface_static (modem_moto_c_gsm_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_moto_c_gsm_type, MM_TYPE_MODEM_GSM_CARD, &modem_gsm_card_info);
- }
-
- return modem_moto_c_gsm_type;
-}
diff --git a/plugins/mm-modem-nokia.c b/plugins/mm-modem-nokia.c
index 16784cb2..677a089d 100644
--- a/plugins/mm-modem-nokia.c
+++ b/plugins/mm-modem-nokia.c
@@ -21,7 +21,11 @@
#include "mm-modem-nokia.h"
#include "mm-serial-parsers.h"
-static gpointer mm_modem_nokia_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemNokia, mm_modem_nokia, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init))
+
MMModem *
mm_modem_nokia_new (const char *device,
@@ -136,32 +140,3 @@ mm_modem_nokia_class_init (MMModemNokiaClass *klass)
MM_GENERIC_GSM_POWER_DOWN_CMD);
}
-GType
-mm_modem_nokia_get_type (void)
-{
- static GType modem_nokia_type = 0;
-
- if (G_UNLIKELY (modem_nokia_type == 0)) {
- static const GTypeInfo modem_nokia_type_info = {
- sizeof (MMModemNokiaClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_nokia_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemNokia),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_nokia_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- modem_nokia_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemNokia", &modem_nokia_type_info, 0);
-
- g_type_add_interface_static (modem_nokia_type, MM_TYPE_MODEM, &modem_iface_info);
- }
-
- return modem_nokia_type;
-}
diff --git a/plugins/mm-modem-novatel-gsm.c b/plugins/mm-modem-novatel-gsm.c
index ddc63393..f4f21730 100644
--- a/plugins/mm-modem-novatel-gsm.c
+++ b/plugins/mm-modem-novatel-gsm.c
@@ -22,7 +22,11 @@
#include "mm-errors.h"
#include "mm-callback-info.h"
-static gpointer mm_modem_novatel_gsm_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemNovatelGsm, mm_modem_novatel_gsm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init))
+
MMModem *
mm_modem_novatel_gsm_new (const char *device,
@@ -191,33 +195,3 @@ mm_modem_novatel_gsm_class_init (MMModemNovatelGsmClass *klass)
mm_modem_novatel_gsm_parent_class = g_type_class_peek_parent (klass);
}
-GType
-mm_modem_novatel_gsm_get_type (void)
-{
- static GType modem_novatel_gsm_type = 0;
-
- if (G_UNLIKELY (modem_novatel_gsm_type == 0)) {
- static const GTypeInfo modem_novatel_gsm_type_info = {
- sizeof (MMModemNovatelGsmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_novatel_gsm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemNovatelGsm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_novatel_gsm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- modem_novatel_gsm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemNovatelGsm",
- &modem_novatel_gsm_type_info, 0);
-
- g_type_add_interface_static (modem_novatel_gsm_type, MM_TYPE_MODEM, &modem_iface_info);
- }
-
- return modem_novatel_gsm_type;
-}
diff --git a/plugins/mm-modem-option.c b/plugins/mm-modem-option.c
index 8cbb6e04..e0ab0f18 100644
--- a/plugins/mm-modem-option.c
+++ b/plugins/mm-modem-option.c
@@ -22,7 +22,13 @@
#include "mm-errors.h"
#include "mm-callback-info.h"
-static gpointer mm_modem_option_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_gsm_network_init (MMModemGsmNetwork *gsm_network_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemOption, mm_modem_option, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_NETWORK, modem_gsm_network_init))
+
MMModem *
mm_modem_option_new (const char *device,
@@ -237,37 +243,3 @@ mm_modem_option_class_init (MMModemOptionClass *klass)
mm_modem_option_parent_class = g_type_class_peek_parent (klass);
}
-GType
-mm_modem_option_get_type (void)
-{
- static GType modem_option_type = 0;
-
- if (G_UNLIKELY (modem_option_type == 0)) {
- static const GTypeInfo modem_option_type_info = {
- sizeof (MMModemOptionClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_option_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemOption),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_option_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_gsm_network_info = {
- (GInterfaceInitFunc) modem_gsm_network_init
- };
-
- modem_option_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemOption", &modem_option_type_info, 0);
-
- g_type_add_interface_static (modem_option_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_option_type, MM_TYPE_MODEM_GSM_NETWORK, &modem_gsm_network_info);
- }
-
- return modem_option_type;
-}
diff --git a/plugins/mm-modem-sierra-cdma.c b/plugins/mm-modem-sierra-cdma.c
index b74875eb..b1ec9892 100644
--- a/plugins/mm-modem-sierra-cdma.c
+++ b/plugins/mm-modem-sierra-cdma.c
@@ -29,7 +29,7 @@
#include "mm-serial-port.h"
#include "mm-serial-parsers.h"
-static gpointer mm_modem_sierra_cdma_parent_class = NULL;
+G_DEFINE_TYPE (MMModemSierraCdma, mm_modem_sierra_cdma, MM_TYPE_GENERIC_CDMA)
#define MM_MODEM_SIERRA_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_SIERRA_CDMA, MMModemSierraCdmaPrivate))
@@ -285,26 +285,3 @@ mm_modem_sierra_cdma_class_init (MMModemSierraCdmaClass *klass)
cdma_class->query_registration_state = query_registration_state;
}
-GType
-mm_modem_sierra_cdma_get_type (void)
-{
- static GType modem_sierra_cdma_type = 0;
-
- if (G_UNLIKELY (modem_sierra_cdma_type == 0)) {
- static const GTypeInfo modem_sierra_cdma_type_info = {
- sizeof (MMModemSierraCdmaClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_sierra_cdma_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemSierraCdma),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_sierra_cdma_init,
- };
-
- modem_sierra_cdma_type = g_type_register_static (MM_TYPE_GENERIC_CDMA, "MMModemSierraCdma", &modem_sierra_cdma_type_info, 0);
- }
-
- return modem_sierra_cdma_type;
-}
diff --git a/plugins/mm-modem-sierra-gsm.c b/plugins/mm-modem-sierra-gsm.c
index e902cbb9..ee477d86 100644
--- a/plugins/mm-modem-sierra-gsm.c
+++ b/plugins/mm-modem-sierra-gsm.c
@@ -22,7 +22,11 @@
#include "mm-errors.h"
#include "mm-callback-info.h"
-static gpointer mm_modem_sierra_gsm_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemSierraGsm, mm_modem_sierra_gsm, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init))
+
MMModem *
mm_modem_sierra_gsm_new (const char *device,
@@ -142,31 +146,3 @@ mm_modem_sierra_gsm_class_init (MMModemSierraGsmClass *klass)
mm_modem_sierra_gsm_parent_class = g_type_class_peek_parent (klass);
}
-GType
-mm_modem_sierra_gsm_get_type (void)
-{
- static GType modem_sierra_gsm_type = 0;
-
- if (G_UNLIKELY (modem_sierra_gsm_type == 0)) {
- static const GTypeInfo modem_sierra_gsm_type_info = {
- sizeof (MMModemSierraGsmClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_sierra_gsm_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemSierraGsm),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_sierra_gsm_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- modem_sierra_gsm_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemSierraGsm", &modem_sierra_gsm_type_info, 0);
- g_type_add_interface_static (modem_sierra_gsm_type, MM_TYPE_MODEM, &modem_iface_info);
- }
-
- return modem_sierra_gsm_type;
-}
diff --git a/plugins/mm-modem-zte.c b/plugins/mm-modem-zte.c
index f71ecadc..536de0ec 100644
--- a/plugins/mm-modem-zte.c
+++ b/plugins/mm-modem-zte.c
@@ -23,7 +23,10 @@
#include "mm-errors.h"
#include "mm-callback-info.h"
-static gpointer mm_modem_zte_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemZte, mm_modem_zte, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init))
MMModem *
mm_modem_zte_new (const char *device,
@@ -200,31 +203,3 @@ mm_modem_zte_class_init (MMModemZteClass *klass)
mm_modem_zte_parent_class = g_type_class_peek_parent (klass);
}
-GType
-mm_modem_zte_get_type (void)
-{
- static GType modem_zte_type = 0;
-
- if (G_UNLIKELY (modem_zte_type == 0)) {
- static const GTypeInfo modem_zte_type_info = {
- sizeof (MMModemZteClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_zte_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemZte),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_zte_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- modem_zte_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemZte", &modem_zte_type_info, 0);
- g_type_add_interface_static (modem_zte_type, MM_TYPE_MODEM, &modem_iface_info);
- }
-
- return modem_zte_type;
-}