core: use G_DEFINE_TYPE_* instead of rolling our own
Use the macro; save some trees.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
+6
-37
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+9
-41
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+4
-29
@@ -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;
|
||||
}
|
||||
|
||||
+9
-109
@@ -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);
|
||||
}
|
||||
|
||||
@@ -1590,30 +1552,10 @@ mm_generic_cdma_class_init (MMGenericCdmaClass *klass)
|
||||
MM_MODEM_PROP_DATA_DEVICE,
|
||||
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;
|
||||
}
|
||||
|
||||
+13
-111
@@ -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);
|
||||
|
||||
@@ -1996,30 +1970,10 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass)
|
||||
MM_MODEM_PROP_DATA_DEVICE,
|
||||
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;
|
||||
}
|
||||
|
||||
+141
-1
@@ -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
|
||||
@@ -133,6 +169,76 @@ mm_modem_base_init (MMModemBase *self)
|
||||
priv->ports = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -140,6 +246,9 @@ finalize (GObject *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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user