novatel-lte: reorganize code

Just to make it more aligned with how other plugins are structured.
This commit is contained in:
Aleksander Morgado
2012-07-30 21:02:07 +02:00
parent b399a17163
commit eb71b9464d
2 changed files with 77 additions and 65 deletions

View File

@@ -36,13 +36,14 @@
G_DEFINE_TYPE (MMBroadbandBearerNovatelLte, mm_broadband_bearer_novatel_lte, MM_TYPE_BROADBAND_BEARER);
/*****************************************************************************/
struct _MMBroadbandBearerNovatelLtePrivate {
/* timeout id for checking whether we're still connected */
guint connection_poller;
};
/*****************************************************************************/
/* 3GPP Connection sequence */
typedef struct {
MMBroadbandBearerNovatelLte *self;
MMBaseModem *modem;
@@ -293,6 +294,9 @@ connect_3gpp (MMBroadbandBearer *bearer,
g_free (command);
}
/*****************************************************************************/
/* 3GPP Disonnection sequence */
typedef struct {
MMBroadbandBearer *self;
MMBaseModem *modem;
@@ -431,42 +435,7 @@ disconnect_3gpp (MMBroadbandBearer *self,
ctx); /* user_data */
}
static void
finalize (GObject *object)
{
MMBroadbandBearerNovatelLte *self = MM_BROADBAND_BEARER_NOVATEL_LTE (object);
if (self->priv->connection_poller)
g_source_remove (self->priv->connection_poller);
G_OBJECT_CLASS (mm_broadband_bearer_novatel_lte_parent_class)->finalize (object);
}
static void
mm_broadband_bearer_novatel_lte_init (MMBroadbandBearerNovatelLte *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self),
MM_TYPE_BROADBAND_BEARER_NOVATEL_LTE,
MMBroadbandBearerNovatelLtePrivate);
self->priv->connection_poller = 0;
}
static void
mm_broadband_bearer_novatel_lte_class_init (MMBroadbandBearerNovatelLteClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
MMBroadbandBearerClass *broadband_bearer_class = MM_BROADBAND_BEARER_CLASS (klass);
g_type_class_add_private (object_class, sizeof (MMBroadbandBearerNovatelLtePrivate));
object_class->finalize = finalize;
broadband_bearer_class->connect_3gpp = connect_3gpp;
broadband_bearer_class->connect_3gpp_finish = connect_3gpp_finish;
broadband_bearer_class->disconnect_3gpp = disconnect_3gpp;
broadband_bearer_class->disconnect_3gpp_finish = disconnect_3gpp_finish;
}
/*****************************************************************************/
MMBearer *
mm_broadband_bearer_novatel_lte_new_finish (GAsyncResult *res,
@@ -505,3 +474,40 @@ mm_broadband_bearer_novatel_lte_new (MMBroadbandModemNovatelLte *modem,
MM_BEARER_CONFIG, config,
NULL);
}
static void
mm_broadband_bearer_novatel_lte_init (MMBroadbandBearerNovatelLte *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self),
MM_TYPE_BROADBAND_BEARER_NOVATEL_LTE,
MMBroadbandBearerNovatelLtePrivate);
self->priv->connection_poller = 0;
}
static void
finalize (GObject *object)
{
MMBroadbandBearerNovatelLte *self = MM_BROADBAND_BEARER_NOVATEL_LTE (object);
if (self->priv->connection_poller)
g_source_remove (self->priv->connection_poller);
G_OBJECT_CLASS (mm_broadband_bearer_novatel_lte_parent_class)->finalize (object);
}
static void
mm_broadband_bearer_novatel_lte_class_init (MMBroadbandBearerNovatelLteClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
MMBroadbandBearerClass *broadband_bearer_class = MM_BROADBAND_BEARER_CLASS (klass);
g_type_class_add_private (object_class, sizeof (MMBroadbandBearerNovatelLtePrivate));
object_class->finalize = finalize;
broadband_bearer_class->connect_3gpp = connect_3gpp;
broadband_bearer_class->connect_3gpp_finish = connect_3gpp_finish;
broadband_bearer_class->disconnect_3gpp = disconnect_3gpp;
broadband_bearer_class->disconnect_3gpp_finish = disconnect_3gpp_finish;
}

View File

@@ -32,6 +32,10 @@
#include "mm-modem-helpers.h"
#include "mm-serial-parsers.h"
static void iface_modem_init (MMIfaceModem *iface);
G_DEFINE_TYPE_EXTENDED (MMBroadbandModemNovatelLte, mm_broadband_modem_novatel_lte, MM_TYPE_BROADBAND_MODEM, 0,
G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM, iface_modem_init));
/*****************************************************************************/
/* Create Bearer (Modem interface) */
@@ -92,34 +96,8 @@ modem_create_bearer (MMIfaceModem *self,
result);
}
static void iface_modem_init (MMIfaceModem *iface);
G_DEFINE_TYPE_EXTENDED (MMBroadbandModemNovatelLte, mm_broadband_modem_novatel_lte, MM_TYPE_BROADBAND_MODEM, 0,
G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM, iface_modem_init));
MMBroadbandModemNovatelLte *
mm_broadband_modem_novatel_lte_new (const gchar *device,
const gchar *driver,
const gchar *plugin,
guint16 vendor_id,
guint16 product_id)
{
return g_object_new (MM_TYPE_BROADBAND_MODEM_NOVATEL_LTE,
MM_BASE_MODEM_DEVICE, device,
MM_BASE_MODEM_DRIVER, driver,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
NULL);
}
static void
mm_broadband_modem_novatel_lte_init (MMBroadbandModemNovatelLte *self)
{
}
/*****************************************************************************/
/* SUPPORTED BANDS */
/* Load supported bands (Modem interface) */
/*
* Mapping from bits set in response of $NWBAND? command to MMModemBand values.
@@ -201,6 +179,8 @@ load_supported_bands (MMIfaceModem *self,
g_object_unref (result);
}
/*****************************************************************************/
/* Load current bands (Modem interface) */
static GArray *
load_current_bands_finish (MMIfaceModem *self,
@@ -272,6 +252,9 @@ load_current_bands (MMIfaceModem *self,
result);
}
/*****************************************************************************/
/* Load access technologies (Modem interface) */
static gboolean
load_access_technologies_finish (MMIfaceModem *self,
GAsyncResult *res,
@@ -349,6 +332,29 @@ load_access_technologies (MMIfaceModem *self,
result);
}
/*****************************************************************************/
MMBroadbandModemNovatelLte *
mm_broadband_modem_novatel_lte_new (const gchar *device,
const gchar *driver,
const gchar *plugin,
guint16 vendor_id,
guint16 product_id)
{
return g_object_new (MM_TYPE_BROADBAND_MODEM_NOVATEL_LTE,
MM_BASE_MODEM_DEVICE, device,
MM_BASE_MODEM_DRIVER, driver,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
NULL);
}
static void
mm_broadband_modem_novatel_lte_init (MMBroadbandModemNovatelLte *self)
{
}
static void
iface_modem_init (MMIfaceModem *iface)
{