diff options
-rw-r--r-- | plugins/mm-modem-gobi-gsm.c | 43 | ||||
-rw-r--r-- | plugins/mm-modem-hso.c | 43 | ||||
-rw-r--r-- | plugins/mm-modem-huawei-cdma.c | 37 | ||||
-rw-r--r-- | plugins/mm-modem-huawei-gsm.c | 41 | ||||
-rw-r--r-- | plugins/mm-modem-mbm.c | 50 | ||||
-rw-r--r-- | plugins/mm-modem-moto-c-gsm.c | 43 | ||||
-rw-r--r-- | plugins/mm-modem-nokia.c | 35 | ||||
-rw-r--r-- | plugins/mm-modem-novatel-gsm.c | 36 | ||||
-rw-r--r-- | plugins/mm-modem-option.c | 42 | ||||
-rw-r--r-- | plugins/mm-modem-sierra-cdma.c | 25 | ||||
-rw-r--r-- | plugins/mm-modem-sierra-gsm.c | 34 | ||||
-rw-r--r-- | plugins/mm-modem-zte.c | 33 | ||||
-rw-r--r-- | src/mm-generic-cdma.c | 118 | ||||
-rw-r--r-- | src/mm-generic-gsm.c | 124 | ||||
-rw-r--r-- | src/mm-modem-base.c | 142 | ||||
-rw-r--r-- | src/mm-modem-base.h | 5 |
16 files changed, 234 insertions, 617 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; -} diff --git a/src/mm-generic-cdma.c b/src/mm-generic-cdma.c index 735f2f31..74878265 100644 --- a/src/mm-generic-cdma.c +++ b/src/mm-generic-cdma.c @@ -36,17 +36,19 @@ static void simple_reg_callback (MMModemCdma *modem, static void simple_state_machine (MMModem *modem, GError *error, gpointer user_data); -static gpointer mm_generic_cdma_parent_class = NULL; +static void modem_init (MMModem *modem_class); +static void modem_cdma_init (MMModemCdma *cdma_class); +static void modem_simple_init (MMModemSimple *class); + +G_DEFINE_TYPE_EXTENDED (MMGenericCdma, mm_generic_cdma, MM_TYPE_MODEM_BASE, 0, + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_CDMA, modem_cdma_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_SIMPLE, modem_simple_init)) #define MM_GENERIC_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_GENERIC_CDMA, MMGenericCdmaPrivate)) typedef struct { - char *driver; - char *plugin; - char *device; - guint32 signal_quality; - guint32 ip_method; gboolean valid; gboolean evdo_rev0; gboolean evdo_revA; @@ -102,10 +104,7 @@ check_valid (MMGenericCdma *self) if (priv->primary && priv->data) new_valid = TRUE; - if (priv->valid != new_valid) { - priv->valid = new_valid; - g_object_notify (G_OBJECT (self), MM_MODEM_VALID); - } + mm_modem_base_set_valid (MM_MODEM_BASE (self), new_valid); } static gboolean @@ -1477,23 +1476,7 @@ set_property (GObject *object, guint prop_id, MMGenericCdmaPrivate *priv = MM_GENERIC_CDMA_GET_PRIVATE (object); switch (prop_id) { - case MM_MODEM_PROP_DRIVER: - /* Construct only */ - priv->driver = g_value_dup_string (value); - break; - case MM_MODEM_PROP_PLUGIN: - /* Construct only */ - priv->plugin = g_value_dup_string (value); - break; - case MM_MODEM_PROP_MASTER_DEVICE: - /* Construct only */ - priv->device = g_value_dup_string (value); - break; - case MM_MODEM_PROP_IP_METHOD: - priv->ip_method = g_value_get_uint (value); - break; case MM_MODEM_PROP_TYPE: - case MM_MODEM_PROP_VALID: break; case PROP_EVDO_REV0: priv->evdo_rev0 = g_value_get_boolean (value); @@ -1520,24 +1503,9 @@ get_property (GObject *object, guint prop_id, else g_value_set_string (value, NULL); break; - case MM_MODEM_PROP_MASTER_DEVICE: - g_value_set_string (value, priv->device); - break; - case MM_MODEM_PROP_DRIVER: - g_value_set_string (value, priv->driver); - break; - case MM_MODEM_PROP_PLUGIN: - g_value_set_string (value, priv->plugin); - break; case MM_MODEM_PROP_TYPE: g_value_set_uint (value, MM_MODEM_TYPE_CDMA); break; - case MM_MODEM_PROP_IP_METHOD: - g_value_set_uint (value, priv->ip_method); - break; - case MM_MODEM_PROP_VALID: - g_value_set_boolean (value, priv->valid); - break; case PROP_EVDO_REV0: g_value_set_boolean (value, priv->evdo_rev0); break; @@ -1561,12 +1529,6 @@ dispose (GObject *object) static void finalize (GObject *object) { - MMGenericCdmaPrivate *priv = MM_GENERIC_CDMA_GET_PRIVATE (object); - - g_free (priv->driver); - g_free (priv->plugin); - g_free (priv->device); - G_OBJECT_CLASS (mm_generic_cdma_parent_class)->finalize (object); } @@ -1591,29 +1553,9 @@ mm_generic_cdma_class_init (MMGenericCdmaClass *klass) MM_MODEM_DATA_DEVICE); g_object_class_override_property (object_class, - MM_MODEM_PROP_MASTER_DEVICE, - MM_MODEM_MASTER_DEVICE); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_DRIVER, - MM_MODEM_DRIVER); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_PLUGIN, - MM_MODEM_PLUGIN); - - g_object_class_override_property (object_class, MM_MODEM_PROP_TYPE, MM_MODEM_TYPE); - g_object_class_override_property (object_class, - MM_MODEM_PROP_IP_METHOD, - MM_MODEM_IP_METHOD); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_VALID, - MM_MODEM_VALID); - g_object_class_install_property (object_class, PROP_EVDO_REV0, g_param_spec_boolean (MM_GENERIC_CDMA_EVDO_REV0, "EVDO rev0", @@ -1629,45 +1571,3 @@ mm_generic_cdma_class_init (MMGenericCdmaClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } -GType -mm_generic_cdma_get_type (void) -{ - static GType generic_cdma_type = 0; - - if (G_UNLIKELY (generic_cdma_type == 0)) { - static const GTypeInfo generic_cdma_type_info = { - sizeof (MMGenericCdmaClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) mm_generic_cdma_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (MMGenericCdma), - 0, /* n_preallocs */ - (GInstanceInitFunc) mm_generic_cdma_init, - }; - - static const GInterfaceInfo modem_iface_info = { - (GInterfaceInitFunc) modem_init - }; - - static const GInterfaceInfo modem_cdma_iface_info = { - (GInterfaceInitFunc) modem_cdma_init - }; - - static const GInterfaceInfo modem_simple_info = { - (GInterfaceInitFunc) modem_simple_init - }; - - generic_cdma_type = g_type_register_static (MM_TYPE_MODEM_BASE, - "MMGenericCdma", - &generic_cdma_type_info, - 0); - - g_type_add_interface_static (generic_cdma_type, MM_TYPE_MODEM, &modem_iface_info); - g_type_add_interface_static (generic_cdma_type, MM_TYPE_MODEM_CDMA, &modem_cdma_iface_info); - g_type_add_interface_static (generic_cdma_type, MM_TYPE_MODEM_SIMPLE, &modem_simple_info); - } - - return generic_cdma_type; -} diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 7df27a2e..169fca8a 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -28,7 +28,18 @@ #include "mm-callback-info.h" #include "mm-serial-parsers.h" -static gpointer mm_generic_gsm_parent_class = NULL; +static void modem_init (MMModem *modem_class); +static void modem_gsm_card_init (MMModemGsmCard *gsm_card_class); +static void modem_gsm_network_init (MMModemGsmNetwork *gsm_network_class); +static void modem_gsm_sms_init (MMModemGsmSms *gsm_sms_class); +static void modem_simple_init (MMModemSimple *class); + +G_DEFINE_TYPE_EXTENDED (MMGenericGsm, mm_generic_gsm, MM_TYPE_MODEM_BASE, 0, + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_CARD, modem_gsm_card_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_NETWORK, modem_gsm_network_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_GSM_SMS, modem_gsm_sms_init) + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_SIMPLE, modem_simple_init)) #define MM_GENERIC_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_GENERIC_GSM, MMGenericGsmPrivate)) @@ -207,10 +218,7 @@ check_valid (MMGenericGsm *self) if (priv->primary && priv->data) new_valid = TRUE; - if (priv->valid != new_valid) { - priv->valid = new_valid; - g_object_notify (G_OBJECT (self), MM_MODEM_VALID); - } + mm_modem_base_set_valid (MM_MODEM_BASE (self), new_valid); } static gboolean @@ -1873,26 +1881,8 @@ static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { - MMGenericGsmPrivate *priv = MM_GENERIC_GSM_GET_PRIVATE (object); - switch (prop_id) { - case MM_MODEM_PROP_DRIVER: - /* Construct only */ - priv->driver = g_value_dup_string (value); - break; - case MM_MODEM_PROP_PLUGIN: - /* Construct only */ - priv->plugin = g_value_dup_string (value); - break; - case MM_MODEM_PROP_MASTER_DEVICE: - /* Constrcut only */ - priv->device = g_value_dup_string (value); - break; - case MM_MODEM_PROP_IP_METHOD: - priv->ip_method = g_value_get_uint (value); - break; case MM_MODEM_PROP_TYPE: - case MM_MODEM_PROP_VALID: case MM_GENERIC_GSM_PROP_POWER_UP_CMD: case MM_GENERIC_GSM_PROP_POWER_DOWN_CMD: case MM_GENERIC_GSM_PROP_INIT_CMD: @@ -1918,24 +1908,9 @@ get_property (GObject *object, guint prop_id, else g_value_set_string (value, NULL); break; - case MM_MODEM_PROP_MASTER_DEVICE: - g_value_set_string (value, priv->device); - break; - case MM_MODEM_PROP_DRIVER: - g_value_set_string (value, priv->driver); - break; - case MM_MODEM_PROP_PLUGIN: - g_value_set_string (value, priv->plugin); - break; case MM_MODEM_PROP_TYPE: g_value_set_uint (value, MM_MODEM_TYPE_GSM); break; - case MM_MODEM_PROP_IP_METHOD: - g_value_set_uint (value, priv->ip_method); - break; - case MM_MODEM_PROP_VALID: - g_value_set_boolean (value, priv->valid); - break; case MM_GENERIC_GSM_PROP_POWER_UP_CMD: g_value_set_string (value, "+CFUN=1"); break; @@ -1971,7 +1946,6 @@ finalize (GObject *object) mm_generic_gsm_pending_registration_stop (MM_GENERIC_GSM (object)); - g_free (priv->driver); g_free (priv->oper_code); g_free (priv->oper_name); @@ -1997,30 +1971,10 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass) MM_MODEM_DATA_DEVICE); g_object_class_override_property (object_class, - MM_MODEM_PROP_MASTER_DEVICE, - MM_MODEM_MASTER_DEVICE); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_DRIVER, - MM_MODEM_DRIVER); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_PLUGIN, - MM_MODEM_PLUGIN); - - g_object_class_override_property (object_class, MM_MODEM_PROP_TYPE, MM_MODEM_TYPE); g_object_class_override_property (object_class, - MM_MODEM_PROP_IP_METHOD, - MM_MODEM_IP_METHOD); - - g_object_class_override_property (object_class, - MM_MODEM_PROP_VALID, - MM_MODEM_VALID); - - g_object_class_override_property (object_class, MM_GENERIC_GSM_PROP_SUPPORTED_BANDS, MM_MODEM_GSM_CARD_SUPPORTED_BANDS); @@ -2053,55 +2007,3 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } -GType -mm_generic_gsm_get_type (void) -{ - static GType generic_gsm_type = 0; - - if (G_UNLIKELY (generic_gsm_type == 0)) { - static const GTypeInfo generic_gsm_type_info = { - sizeof (MMGenericGsmClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) mm_generic_gsm_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (MMGenericGsm), - 0, /* n_preallocs */ - (GInstanceInitFunc) mm_generic_gsm_init, - }; - - static const GInterfaceInfo modem_iface_info = { - (GInterfaceInitFunc) modem_init - }; - - static const GInterfaceInfo modem_gsm_card_info = { - (GInterfaceInitFunc) modem_gsm_card_init - }; - - static const GInterfaceInfo modem_gsm_network_info = { - (GInterfaceInitFunc) modem_gsm_network_init - }; - - static const GInterfaceInfo modem_gsm_sms_info = { - (GInterfaceInitFunc) modem_gsm_sms_init - }; - - static const GInterfaceInfo modem_simple_info = { - (GInterfaceInitFunc) modem_simple_init - }; - - generic_gsm_type = g_type_register_static (MM_TYPE_MODEM_BASE, - "MMGenericGsm", - &generic_gsm_type_info, - 0); - - g_type_add_interface_static (generic_gsm_type, MM_TYPE_MODEM, &modem_iface_info); - g_type_add_interface_static (generic_gsm_type, MM_TYPE_MODEM_GSM_CARD, &modem_gsm_card_info); - g_type_add_interface_static (generic_gsm_type, MM_TYPE_MODEM_GSM_NETWORK, &modem_gsm_network_info); - g_type_add_interface_static (generic_gsm_type, MM_TYPE_MODEM_GSM_SMS, &modem_gsm_sms_info); - g_type_add_interface_static (generic_gsm_type, MM_TYPE_MODEM_SIMPLE, &modem_simple_info); - } - - return generic_gsm_type; -} diff --git a/src/mm-modem-base.c b/src/mm-modem-base.c index 30de1123..1df965f8 100644 --- a/src/mm-modem-base.c +++ b/src/mm-modem-base.c @@ -20,18 +20,31 @@ #include <string.h> #include "mm-modem-base.h" +#include "mm-modem.h" #include "mm-serial-port.h" #include "mm-errors.h" #include "mm-options.h" -G_DEFINE_TYPE (MMModemBase, mm_modem_base, G_TYPE_OBJECT) +static void modem_init (MMModem *modem_class); + +G_DEFINE_TYPE_EXTENDED (MMModemBase, mm_modem_base, + G_TYPE_OBJECT, + G_TYPE_FLAG_VALUE_ABSTRACT, + G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)) #define MM_MODEM_BASE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_BASE, MMModemBasePrivate)) typedef struct { + char *driver; + char *plugin; + char *device; + guint32 ip_method; + gboolean valid; + GHashTable *ports; } MMModemBasePrivate; + static char * get_hash_key (const char *subsys, const char *name) { @@ -123,6 +136,29 @@ mm_modem_base_remove_port (MMModemBase *self, MMPort *port) return g_hash_table_remove (MM_MODEM_BASE_GET_PRIVATE (self)->ports, port); } +void +mm_modem_base_set_valid (MMModemBase *self, gboolean new_valid) +{ + MMModemBasePrivate *priv; + + g_return_if_fail (MM_IS_MODEM_BASE (self)); + + priv = MM_MODEM_BASE_GET_PRIVATE (self); + + if (priv->valid != new_valid) { + priv->valid = new_valid; + g_object_notify (G_OBJECT (self), MM_MODEM_VALID); + } +} + +gboolean +mm_modem_base_get_valid (MMModemBase *self) +{ + g_return_val_if_fail (MM_IS_MODEM_BASE (self), FALSE); + + return MM_MODEM_BASE_GET_PRIVATE (self)->valid; +} + /*****************************************************************************/ static void @@ -134,12 +170,85 @@ mm_modem_base_init (MMModemBase *self) } static void +modem_init (MMModem *modem_class) +{ +} + +static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + MMModemBasePrivate *priv = MM_MODEM_BASE_GET_PRIVATE (object); + + switch (prop_id) { + case MM_MODEM_PROP_DRIVER: + /* Construct only */ + priv->driver = g_value_dup_string (value); + break; + case MM_MODEM_PROP_PLUGIN: + /* Construct only */ + priv->plugin = g_value_dup_string (value); + break; + case MM_MODEM_PROP_MASTER_DEVICE: + /* Construct only */ + priv->device = g_value_dup_string (value); + break; + case MM_MODEM_PROP_IP_METHOD: + priv->ip_method = g_value_get_uint (value); + break; + case MM_MODEM_PROP_VALID: + case MM_MODEM_PROP_TYPE: + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + MMModemBasePrivate *priv = MM_MODEM_BASE_GET_PRIVATE (object); + + switch (prop_id) { + case MM_MODEM_PROP_MASTER_DEVICE: + g_value_set_string (value, priv->device); + break; + case MM_MODEM_PROP_DATA_DEVICE: + g_value_set_string (value, NULL); + break; + case MM_MODEM_PROP_DRIVER: + g_value_set_string (value, priv->driver); + break; + case MM_MODEM_PROP_PLUGIN: + g_value_set_string (value, priv->plugin); + break; + case MM_MODEM_PROP_TYPE: + g_value_set_uint (value, MM_MODEM_TYPE_UNKNOWN); + break; + case MM_MODEM_PROP_IP_METHOD: + g_value_set_uint (value, priv->ip_method); + break; + case MM_MODEM_PROP_VALID: + g_value_set_boolean (value, priv->valid); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void finalize (GObject *object) { MMModemBase *self = MM_MODEM_BASE (object); MMModemBasePrivate *priv = MM_MODEM_BASE_GET_PRIVATE (self); g_hash_table_destroy (priv->ports); + g_free (priv->driver); + g_free (priv->plugin); + g_free (priv->device); G_OBJECT_CLASS (mm_modem_base_parent_class)->finalize (object); } @@ -152,5 +261,36 @@ mm_modem_base_class_init (MMModemBaseClass *klass) g_type_class_add_private (object_class, sizeof (MMModemBasePrivate)); /* Virtual methods */ + object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; + + g_object_class_override_property (object_class, + MM_MODEM_PROP_MASTER_DEVICE, + MM_MODEM_MASTER_DEVICE); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_DATA_DEVICE, + MM_MODEM_DATA_DEVICE); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_DRIVER, + MM_MODEM_DRIVER); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_PLUGIN, + MM_MODEM_PLUGIN); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_TYPE, + MM_MODEM_TYPE); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_IP_METHOD, + MM_MODEM_IP_METHOD); + + g_object_class_override_property (object_class, + MM_MODEM_PROP_VALID, + MM_MODEM_VALID); } + diff --git a/src/mm-modem-base.h b/src/mm-modem-base.h index 9cb0df38..9eb64ce0 100644 --- a/src/mm-modem-base.h +++ b/src/mm-modem-base.h @@ -55,5 +55,10 @@ MMPort *mm_modem_base_add_port (MMModemBase *self, gboolean mm_modem_base_remove_port (MMModemBase *self, MMPort *port); +void mm_modem_base_set_valid (MMModemBase *self, + gboolean valid); + +gboolean mm_modem_base_get_valid (MMModemBase *self); + #endif /* MM_MODEM_BASE_H */ |