ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'
This commit is contained in:
@@ -44,7 +44,7 @@ G_DEFINE_TYPE (MMBroadbandBearerAltairLte, mm_broadband_bearer_altair_lte, MM_TY
|
||||
typedef struct {
|
||||
MMBroadbandBearerAltairLte *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPort *data;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -53,7 +53,7 @@ typedef struct {
|
||||
static DetailedConnectContext *
|
||||
detailed_connect_context_new (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPort *data,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -168,8 +168,8 @@ connect_3gpp_apnsettings_ready (MMBaseModem *modem,
|
||||
static void
|
||||
connect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -216,7 +216,7 @@ connect_3gpp (MMBroadbandBearer *self,
|
||||
user_data);
|
||||
|
||||
config = mm_bearer_peek_config (MM_BEARER (self));
|
||||
apn = mm_at_serial_port_quote_string (mm_bearer_properties_get_apn (config));
|
||||
apn = mm_port_serial_at_quote_string (mm_bearer_properties_get_apn (config));
|
||||
command = g_strdup_printf ("%%APNN=%s",apn);
|
||||
g_free (apn);
|
||||
mm_base_modem_at_command_full (ctx->modem,
|
||||
@@ -237,7 +237,7 @@ connect_3gpp (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearer *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPort *data;
|
||||
GSimpleAsyncResult *result;
|
||||
} DetailedDisconnectContext;
|
||||
@@ -245,7 +245,7 @@ typedef struct {
|
||||
static DetailedDisconnectContext *
|
||||
detailed_disconnect_context_new (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPort *data,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -307,8 +307,8 @@ disconnect_3gpp_check_status (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -709,7 +709,7 @@ altair_sim_refresh_timer_expired (MMBroadbandModemAltairLte *self)
|
||||
}
|
||||
|
||||
static void
|
||||
altair_sim_refresh_changed (MMAtSerialPort *port,
|
||||
altair_sim_refresh_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemAltairLte *self)
|
||||
{
|
||||
@@ -742,7 +742,7 @@ bearer_list_report_disconnect_status_foreach (MMBearer *bearer,
|
||||
/* STATCM unsolicited event handler */
|
||||
|
||||
static void
|
||||
altair_statcm_changed (MMAtSerialPort *port,
|
||||
altair_statcm_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemAltairLte *self)
|
||||
{
|
||||
@@ -776,7 +776,7 @@ altair_statcm_changed (MMAtSerialPort *port,
|
||||
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
||||
|
||||
static void
|
||||
altair_pco_info_changed (MMAtSerialPort *port,
|
||||
altair_pco_info_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemAltairLte *self);
|
||||
|
||||
@@ -784,7 +784,7 @@ static void
|
||||
set_3gpp_unsolicited_events_handlers (MMBroadbandModemAltairLte *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -796,26 +796,26 @@ set_3gpp_unsolicited_events_handlers (MMBroadbandModemAltairLte *self,
|
||||
continue;
|
||||
|
||||
/* SIM refresh handler */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->sim_refresh_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)altair_sim_refresh_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)altair_sim_refresh_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* bearer mode related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->statcm_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)altair_statcm_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)altair_statcm_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* PCO info handler */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->pcoinfo_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)altair_pco_info_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)altair_pco_info_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -1337,7 +1337,7 @@ altair_get_subscription_state_ready (MMBroadbandModemAltairLte *self,
|
||||
}
|
||||
|
||||
static void
|
||||
altair_pco_info_changed (MMAtSerialPort *port,
|
||||
altair_pco_info_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemAltairLte *self)
|
||||
{
|
||||
@@ -1368,7 +1368,7 @@ static const gchar *primary_init_sequence[] = {
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_altair_lte_parent_class)->setup_ports (self);
|
||||
@@ -1379,8 +1379,8 @@ setup_ports (MMBroadbandModem *self)
|
||||
|
||||
g_object_set (primary,
|
||||
MM_PORT_SERIAL_SEND_DELAY, (guint64) 0,
|
||||
MM_AT_SERIAL_PORT_SEND_LF, TRUE,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE, primary_init_sequence,
|
||||
MM_PORT_SERIAL_AT_SEND_LF, TRUE,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE, primary_init_sequence,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
MMBroadbandModem *self;
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
MMModemCdmaRegistrationState cdma1x_state;
|
||||
MMModemCdmaRegistrationState evdo_state;
|
||||
GError *error;
|
||||
@@ -284,7 +284,7 @@ reset (MMIfaceModem *self,
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GRegex *regex;
|
||||
guint i;
|
||||
|
||||
@@ -303,17 +303,17 @@ setup_ports (MMBroadbandModem *self)
|
||||
|
||||
/* Data call has connected */
|
||||
regex = g_regex_new ("\\r\\n\\*ACTIVE:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
/* Data call disconnected */
|
||||
regex = g_regex_new ("\\r\\n\\*INACTIVE:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
/* Modem is now dormant */
|
||||
regex = g_regex_new ("\\r\\n\\*DORMANT:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
/* Abnormal state notifications
|
||||
@@ -324,17 +324,17 @@ setup_ports (MMBroadbandModem *self)
|
||||
|
||||
/* Network acquisition fail */
|
||||
regex = g_regex_new ("\\r\\n\\*OFFLINE:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
/* Registration fail */
|
||||
regex = g_regex_new ("\\r\\n\\*REGREQ:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
/* Authentication fail */
|
||||
regex = g_regex_new ("\\r\\n\\*AUTHREQ:(.*)\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]), regex, NULL, NULL, NULL);
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]), regex, NULL, NULL, NULL);
|
||||
g_regex_unref (regex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
} CinterionCustomInitContext;
|
||||
@@ -75,7 +75,7 @@ cinterion_custom_init_finish (MMPortProbe *probe,
|
||||
}
|
||||
|
||||
static void
|
||||
sqport_ready (MMAtSerialPort *port,
|
||||
sqport_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
CinterionCustomInitContext *ctx)
|
||||
@@ -101,7 +101,7 @@ sqport_ready (MMAtSerialPort *port,
|
||||
|
||||
static void
|
||||
cinterion_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -117,13 +117,13 @@ cinterion_custom_init (MMPortProbe *probe,
|
||||
ctx->port = g_object_ref (port);
|
||||
ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
|
||||
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"AT^SQPORT?",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)sqport_ready,
|
||||
(MMPortSerialAtResponseFn)sqport_ready,
|
||||
ctx);
|
||||
}
|
||||
|
||||
@@ -162,15 +162,15 @@ grab_port (MMPlugin *self,
|
||||
MMPortProbe *probe,
|
||||
GError **error)
|
||||
{
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
MMPortType ptype;
|
||||
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
|
||||
if (g_object_get_data (G_OBJECT (probe), TAG_CINTERION_APP_PORT))
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
else if (g_object_get_data (G_OBJECT (probe), TAG_CINTERION_MODEM_PORT))
|
||||
pflags = MM_AT_PORT_FLAG_PPP;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
|
||||
return mm_base_modem_grab_port (modem,
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef enum {
|
||||
typedef struct {
|
||||
MMBroadbandBearerHuawei *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPort *data;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -369,8 +369,8 @@ connect_3gpp_context_step (Connect3gppContext *ctx)
|
||||
static void
|
||||
connect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -425,7 +425,7 @@ typedef enum {
|
||||
typedef struct {
|
||||
MMBroadbandBearerHuawei *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GSimpleAsyncResult *result;
|
||||
Disconnect3gppContextStep step;
|
||||
guint check_count;
|
||||
@@ -626,8 +626,8 @@ disconnect_3gpp_context_step (Disconnect3gppContext *ctx)
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -1485,7 +1485,7 @@ set_current_modes (MMIfaceModem *_self,
|
||||
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
||||
|
||||
static void
|
||||
huawei_signal_changed (MMAtSerialPort *port,
|
||||
huawei_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -1507,7 +1507,7 @@ huawei_signal_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
huawei_mode_changed (MMAtSerialPort *port,
|
||||
huawei_mode_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -1599,7 +1599,7 @@ huawei_mode_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
huawei_status_changed (MMAtSerialPort *port,
|
||||
huawei_status_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -1639,7 +1639,7 @@ bearer_report_connection_status (MMBearer *bearer,
|
||||
}
|
||||
|
||||
static void
|
||||
huawei_ndisstat_changed (MMAtSerialPort *port,
|
||||
huawei_ndisstat_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -1687,7 +1687,7 @@ static void
|
||||
set_3gpp_unsolicited_events_handlers (MMBroadbandModemHuawei *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -1699,33 +1699,33 @@ set_3gpp_unsolicited_events_handlers (MMBroadbandModemHuawei *self,
|
||||
continue;
|
||||
|
||||
/* Signal quality related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->rssi_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->mode_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_mode_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_mode_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Connection status related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->dsflowrpt_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_status_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_status_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ndisstat_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_ndisstat_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_ndisstat_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -2211,7 +2211,7 @@ decode (MMIfaceModem3gppUssd *self,
|
||||
/*****************************************************************************/
|
||||
|
||||
static void
|
||||
huawei_1x_signal_changed (MMAtSerialPort *port,
|
||||
huawei_1x_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -2226,7 +2226,7 @@ huawei_1x_signal_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
huawei_evdo_signal_changed (MMAtSerialPort *port,
|
||||
huawei_evdo_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHuawei *self)
|
||||
{
|
||||
@@ -2370,7 +2370,7 @@ static void
|
||||
set_cdma_unsolicited_events_handlers (MMBroadbandModemHuawei *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -2382,23 +2382,23 @@ set_cdma_unsolicited_events_handlers (MMBroadbandModemHuawei *self,
|
||||
continue;
|
||||
|
||||
/* Signal quality related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->rssilvl_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_1x_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_1x_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->hrssilvl_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_evdo_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_evdo_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->mode_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)huawei_mode_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)huawei_mode_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -2817,7 +2817,7 @@ static void
|
||||
enable_disable_unsolicited_rfswitch_event_handler (MMBroadbandModemHuawei *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
mm_dbg ("%s ^RFSWITCH unsolicited event handler",
|
||||
@@ -2828,7 +2828,7 @@ enable_disable_unsolicited_rfswitch_event_handler (MMBroadbandModemHuawei *self,
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
if (ports[i])
|
||||
mm_at_serial_port_enable_unsolicited_msg_handler (
|
||||
mm_port_serial_at_enable_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->rfswitch_regex,
|
||||
enable);
|
||||
@@ -3121,7 +3121,7 @@ modem_time_check_support (MMIfaceModemTime *self,
|
||||
static void
|
||||
set_ignored_unsolicited_events_handlers (MMBroadbandModemHuawei *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -3132,55 +3132,55 @@ set_ignored_unsolicited_events_handlers (MMBroadbandModemHuawei *self)
|
||||
if (!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->boot_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->connect_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->csnr_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->cusatp_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->cusatend_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->dsdormant_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->simst_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->srvst_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->stin_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->hcsq_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->pdpdeact_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ndisend_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->rfswitch_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -74,7 +74,7 @@ first_interface_context_free (FirstInterfaceContext *ctx)
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
gboolean curc_done;
|
||||
@@ -127,7 +127,7 @@ cache_port_mode (MMDevice *device,
|
||||
}
|
||||
|
||||
static void
|
||||
getportmode_ready (MMAtSerialPort *port,
|
||||
getportmode_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
HuaweiCustomInitContext *ctx)
|
||||
@@ -170,7 +170,7 @@ getportmode_ready (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
curc_ready (MMAtSerialPort *port,
|
||||
curc_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
HuaweiCustomInitContext *ctx)
|
||||
@@ -263,13 +263,13 @@ huawei_custom_init_step (HuaweiCustomInitContext *ctx)
|
||||
|
||||
ctx->curc_retries--;
|
||||
/* Turn off unsolicited messages on secondary ports until needed */
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"AT^CURC=0",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)curc_ready,
|
||||
(MMPortSerialAtResponseFn)curc_ready,
|
||||
ctx);
|
||||
return;
|
||||
}
|
||||
@@ -283,13 +283,13 @@ huawei_custom_init_step (HuaweiCustomInitContext *ctx)
|
||||
}
|
||||
|
||||
ctx->getportmode_retries--;
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"AT^GETPORTMODE",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)getportmode_ready,
|
||||
(MMPortSerialAtResponseFn)getportmode_ready,
|
||||
ctx);
|
||||
return;
|
||||
}
|
||||
@@ -315,7 +315,7 @@ first_interface_missing_timeout_cb (MMDevice *device)
|
||||
|
||||
static void
|
||||
huawei_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -411,31 +411,31 @@ propagate_port_mode_results (GList *probes)
|
||||
|
||||
/* Now we propagate the tags to the specific port probes */
|
||||
for (l = probes; l; l = g_list_next (l)) {
|
||||
MMAtPortFlag at_port_flags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag at_port_flags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
gint usbif;
|
||||
|
||||
usbif = g_udev_device_get_property_as_int (mm_port_probe_peek_port (MM_PORT_PROBE (l->data)), "ID_USB_INTERFACE_NUM");
|
||||
|
||||
if (GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (device), TAG_GETPORTMODE_SUPPORTED))) {
|
||||
if (usbif + 1 == GPOINTER_TO_INT (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_PCUI_PORT)))
|
||||
at_port_flags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
at_port_flags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
else if (usbif + 1 == GPOINTER_TO_INT (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_MODEM_PORT)))
|
||||
at_port_flags = MM_AT_PORT_FLAG_PPP;
|
||||
at_port_flags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
else if (!g_object_get_data (G_OBJECT (device), TAG_HUAWEI_MODEM_PORT) &&
|
||||
usbif + 1 == GPOINTER_TO_INT (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_NDIS_PORT)))
|
||||
/* If NDIS reported only instead of MDM, use it */
|
||||
at_port_flags = MM_AT_PORT_FLAG_PPP;
|
||||
at_port_flags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
} else if (usbif == 0 &&
|
||||
mm_port_probe_is_at (MM_PORT_PROBE (l->data))) {
|
||||
/* If GETPORTMODE is not supported, we assume usbif 0 is the modem port */
|
||||
at_port_flags = MM_AT_PORT_FLAG_PPP;
|
||||
at_port_flags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
|
||||
/* /\* TODO. */
|
||||
/* * For CDMA modems we assume usbif0 is both primary and PPP, since */
|
||||
/* * they don't have problems with talking on secondary ports. */
|
||||
/* *\/ */
|
||||
/* if (caps & CAP_CDMA) */
|
||||
/* pflags |= MM_AT_PORT_FLAG_PRIMARY; */
|
||||
/* pflags |= MM_PORT_SERIAL_AT_FLAG_PRIMARY; */
|
||||
}
|
||||
|
||||
g_object_set_data (G_OBJECT (l->data), TAG_AT_PORT_FLAGS, GUINT_TO_POINTER (at_port_flags));
|
||||
@@ -488,7 +488,7 @@ grab_port (MMPlugin *self,
|
||||
MMPortProbe *probe,
|
||||
GError **error)
|
||||
{
|
||||
MMAtPortFlag pflags;
|
||||
MMPortSerialAtFlag pflags;
|
||||
GUdevDevice *port;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
@@ -496,17 +496,17 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("(%s/%s)' Port flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_HUAWEI_MODEM_PORT")) {
|
||||
mm_dbg ("(%s/%s) Port flagged as PPP",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PPP;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
} else {
|
||||
gchar *str;
|
||||
|
||||
pflags = (MMAtPortFlag) GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (probe), TAG_AT_PORT_FLAGS));
|
||||
str = mm_at_port_flag_build_string_from_mask (pflags);
|
||||
pflags = (MMPortSerialAtFlag) GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (probe), TAG_AT_PORT_FLAGS));
|
||||
str = mm_port_serial_at_flag_build_string_from_mask (pflags);
|
||||
mm_dbg ("(%s/%s) Port will have AT flags '%s'",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe),
|
||||
|
||||
@@ -64,7 +64,7 @@ struct _MMBroadbandBearerIceraPrivate {
|
||||
typedef struct {
|
||||
MMBroadbandBearerIcera *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GSimpleAsyncResult *result;
|
||||
} GetIpConfig3gppContext;
|
||||
@@ -72,7 +72,7 @@ typedef struct {
|
||||
static GetIpConfig3gppContext *
|
||||
get_ip_config_3gpp_context_new (MMBroadbandBearerIcera *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -265,8 +265,8 @@ ip_config_ready (MMBaseModem *modem,
|
||||
static void
|
||||
get_ip_config_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -439,8 +439,8 @@ disconnect_ipdpact_ready (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *bearer,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -486,7 +486,7 @@ disconnect_3gpp (MMBroadbandBearer *bearer,
|
||||
typedef struct {
|
||||
MMBroadbandBearerIcera *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -960,8 +960,8 @@ authenticate (Dial3gppContext *ctx)
|
||||
return;
|
||||
}
|
||||
|
||||
quoted_user = mm_at_serial_port_quote_string (user);
|
||||
quoted_password = mm_at_serial_port_quote_string (password);
|
||||
quoted_user = mm_port_serial_at_quote_string (user);
|
||||
quoted_password = mm_port_serial_at_quote_string (password);
|
||||
command = g_strdup_printf ("%%IPDPCFG=%d,0,%u,%s,%s",
|
||||
ctx->cid, icera_auth, quoted_user, quoted_password);
|
||||
g_free (quoted_user);
|
||||
@@ -983,7 +983,7 @@ authenticate (Dial3gppContext *ctx)
|
||||
static void
|
||||
dial_3gpp (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -414,7 +414,7 @@ bearer_list_report_status_foreach (MMBearer *bearer,
|
||||
}
|
||||
|
||||
static void
|
||||
ipdpact_received (MMAtSerialPort *port,
|
||||
ipdpact_received (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemIcera *self)
|
||||
{
|
||||
@@ -497,7 +497,7 @@ nwstate_to_act (const gchar *str)
|
||||
}
|
||||
|
||||
static void
|
||||
nwstate_changed (MMAtSerialPort *port,
|
||||
nwstate_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModemIcera *self)
|
||||
{
|
||||
@@ -548,7 +548,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemIcera *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -560,24 +560,24 @@ set_unsolicited_events_handlers (MMBroadbandModemIcera *self,
|
||||
continue;
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->nwstate_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)nwstate_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)nwstate_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Connection status related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ipdpact_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)ipdpact_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)ipdpact_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Always to ignore */
|
||||
if (!enable) {
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->pacsp_regex,
|
||||
NULL,
|
||||
|
||||
@@ -40,7 +40,7 @@ typedef struct {
|
||||
MMBearerIridium *self;
|
||||
GSimpleAsyncResult *result;
|
||||
GCancellable *cancellable;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GError *saved_error;
|
||||
} ConnectContext;
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ static const gchar *primary_init_sequence[] = {
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_iridium_parent_class)->setup_ports (self);
|
||||
@@ -344,7 +344,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
|
||||
g_object_set (G_OBJECT (primary),
|
||||
MM_PORT_SERIAL_BAUD, 9600,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE, primary_init_sequence,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE, primary_init_sequence,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
guint retries;
|
||||
@@ -66,7 +66,7 @@ longcheer_custom_init_finish (MMPortProbe *probe,
|
||||
static void longcheer_custom_init_step (LongcheerCustomInitContext *ctx);
|
||||
|
||||
static void
|
||||
gmr_ready (MMAtSerialPort *port,
|
||||
gmr_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
LongcheerCustomInitContext *ctx)
|
||||
@@ -124,19 +124,19 @@ longcheer_custom_init_step (LongcheerCustomInitContext *ctx)
|
||||
}
|
||||
|
||||
ctx->retries--;
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"AT+GMR",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)gmr_ready,
|
||||
(MMPortSerialAtResponseFn)gmr_ready,
|
||||
ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
longcheer_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -201,7 +201,7 @@ grab_port (MMPlugin *self,
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMPortType ptype;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
@@ -214,12 +214,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("longcheer: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_LONGCHEER_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("longcheer: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
} else {
|
||||
/* If the port was tagged by the udev rules but isn't a primary or secondary,
|
||||
* then ignore it to guard against race conditions if a device just happens
|
||||
|
||||
@@ -55,7 +55,7 @@ struct _MMBroadbandBearerMbmPrivate {
|
||||
typedef struct {
|
||||
MMBroadbandBearerMbm *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GCancellable *cancellable;
|
||||
MMPort *data;
|
||||
@@ -428,7 +428,7 @@ authenticate (Dial3gppContext *ctx)
|
||||
static void
|
||||
dial_3gpp (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -471,7 +471,7 @@ dial_3gpp (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearerMbm *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GSimpleAsyncResult *result;
|
||||
} DisconnectContext;
|
||||
|
||||
@@ -515,8 +515,8 @@ disconnect_enap_ready (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -808,7 +808,7 @@ bearer_list_report_status_foreach (MMBearer *bearer,
|
||||
}
|
||||
|
||||
static void
|
||||
e2nap_received (MMAtSerialPort *port,
|
||||
e2nap_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModemMbm *self)
|
||||
{
|
||||
@@ -856,7 +856,7 @@ e2nap_received (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
erinfo_received (MMAtSerialPort *port,
|
||||
erinfo_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModemMbm *self)
|
||||
{
|
||||
@@ -902,7 +902,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemMbm *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -914,24 +914,24 @@ set_unsolicited_events_handlers (MMBroadbandModemMbm *self,
|
||||
continue;
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->erinfo_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)erinfo_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)erinfo_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Connection related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->e2nap_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)e2nap_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)e2nap_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->e2nap_ext_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)e2nap_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)e2nap_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -1179,7 +1179,7 @@ modem_3gpp_disable_unsolicited_events (MMIfaceModem3gpp *self,
|
||||
/* Setup ports (Broadband modem class) */
|
||||
|
||||
static void
|
||||
emrdy_received (MMAtSerialPort *port,
|
||||
emrdy_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModemMbm *self)
|
||||
{
|
||||
@@ -1190,7 +1190,7 @@ static void
|
||||
setup_ports (MMBroadbandModem *_self)
|
||||
{
|
||||
MMBroadbandModemMbm *self = MM_BROADBAND_MODEM_MBM (_self);
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
@@ -1213,30 +1213,30 @@ setup_ports (MMBroadbandModem *_self)
|
||||
MM_PORT_SERIAL_FLASH_OK, FALSE,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->emrdy_regex,
|
||||
(MMAtSerialUnsolicitedMsgFn)emrdy_received,
|
||||
(MMPortSerialAtUnsolicitedMsgFn)emrdy_received,
|
||||
self,
|
||||
NULL);
|
||||
|
||||
/* Several unsolicited messages to always ignore... */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->pacsp_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->estksmenu_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->estksms_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->emwi_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -571,7 +571,7 @@ set_current_modes (MMIfaceModem *self,
|
||||
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
||||
|
||||
static void
|
||||
mtk_80_signal_changed (MMAtSerialPort *port,
|
||||
mtk_80_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemMtk *self)
|
||||
{
|
||||
@@ -590,7 +590,7 @@ mtk_80_signal_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
mtk_90_2g_signal_changed (MMAtSerialPort *port,
|
||||
mtk_90_2g_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemMtk *self)
|
||||
{
|
||||
@@ -609,7 +609,7 @@ mtk_90_2g_signal_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
mtk_90_3g_signal_changed (MMAtSerialPort *port,
|
||||
mtk_90_3g_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemMtk *self)
|
||||
{
|
||||
@@ -625,7 +625,7 @@ mtk_90_3g_signal_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
mtk_90_4g_signal_changed (MMAtSerialPort *port,
|
||||
mtk_90_4g_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemMtk *self)
|
||||
{
|
||||
@@ -644,7 +644,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemMtk *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -655,38 +655,38 @@ set_unsolicited_events_handlers (MMBroadbandModemMtk *self,
|
||||
if(!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ecsqg_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)mtk_80_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)mtk_80_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ecsqu_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)mtk_80_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)mtk_80_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ecsqeg_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)mtk_90_2g_signal_changed:NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)mtk_90_2g_signal_changed:NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ecsqeu_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)mtk_90_3g_signal_changed:NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)mtk_90_3g_signal_changed:NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ecsqel_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)mtk_90_4g_signal_changed:NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)mtk_90_4g_signal_changed:NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -1033,4 +1033,3 @@ mm_broadband_modem_mtk_class_init (MMBroadbandModemMtkClass *klass)
|
||||
object_class->finalize = finalize;
|
||||
broadband_modem_class->setup_ports = setup_ports;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ grab_port (MMPlugin *self,
|
||||
GError **error)
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
|
||||
@@ -67,12 +67,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("MTK: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_MTK_MODEM_PORT")) {
|
||||
mm_dbg ("MTK: Modem port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -300,7 +300,7 @@ static const gchar *primary_init_sequence[] = {
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_nokia_parent_class)->setup_ports (self);
|
||||
@@ -308,7 +308,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
primary = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
|
||||
g_object_set (primary,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE, primary_init_sequence,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE, primary_init_sequence,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ grab_port (MMPlugin *self,
|
||||
GError **error)
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
|
||||
@@ -74,12 +74,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("Nokia: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_NOKIA_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("Nokia: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ normalize_qmistatus (const gchar *status)
|
||||
typedef struct {
|
||||
MMBroadbandBearerNovatelLte *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPort *data;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -283,9 +283,9 @@ connect_3gpp_authenticate (DetailedConnectContext *ctx)
|
||||
gchar *command, *apn, *user, *password;
|
||||
|
||||
config = mm_bearer_peek_config (MM_BEARER (ctx->self));
|
||||
apn = mm_at_serial_port_quote_string (mm_bearer_properties_get_apn (config));
|
||||
user = mm_at_serial_port_quote_string (mm_bearer_properties_get_user (config));
|
||||
password = mm_at_serial_port_quote_string (mm_bearer_properties_get_password (config));
|
||||
apn = mm_port_serial_at_quote_string (mm_bearer_properties_get_apn (config));
|
||||
user = mm_port_serial_at_quote_string (mm_bearer_properties_get_user (config));
|
||||
password = mm_port_serial_at_quote_string (mm_bearer_properties_get_password (config));
|
||||
command = g_strdup_printf ("$NWQMICONNECT=,,,,,,%s,,,%s,%s",
|
||||
apn, user, password);
|
||||
g_free (apn);
|
||||
@@ -307,8 +307,8 @@ connect_3gpp_authenticate (DetailedConnectContext *ctx)
|
||||
static void
|
||||
connect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -347,7 +347,7 @@ connect_3gpp (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearer *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPort *data;
|
||||
GSimpleAsyncResult *result;
|
||||
gint retries;
|
||||
@@ -356,7 +356,7 @@ typedef struct {
|
||||
static DetailedDisconnectContext *
|
||||
detailed_disconnect_context_new (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPort *data,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -486,8 +486,8 @@ disconnect_3gpp_check_status (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -59,7 +59,7 @@ static const MMPortProbeAtCommand custom_at_probe[] = {
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
guint nwdmat_retries;
|
||||
@@ -90,7 +90,7 @@ novatel_custom_init_finish (MMPortProbe *probe,
|
||||
static void custom_init_step (CustomInitContext *ctx);
|
||||
|
||||
static void
|
||||
nwdmat_ready (MMAtSerialPort *port,
|
||||
nwdmat_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
CustomInitContext *ctx)
|
||||
@@ -147,12 +147,12 @@ custom_init_step (CustomInitContext *ctx)
|
||||
|
||||
if (ctx->nwdmat_retries > 0) {
|
||||
ctx->nwdmat_retries--;
|
||||
mm_at_serial_port_queue_command (ctx->port,
|
||||
mm_port_serial_at_queue_command (ctx->port,
|
||||
"$NWDMAT=1",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)nwdmat_ready,
|
||||
(MMPortSerialAtResponseFn)nwdmat_ready,
|
||||
ctx);
|
||||
return;
|
||||
}
|
||||
@@ -166,7 +166,7 @@ custom_init_step (CustomInitContext *ctx)
|
||||
|
||||
static void
|
||||
novatel_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
|
||||
@@ -50,7 +50,7 @@ struct _MMBroadbandBearerHsoPrivate {
|
||||
typedef struct {
|
||||
MMBroadbandBearerHso *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GSimpleAsyncResult *result;
|
||||
} GetIpConfig3gppContext;
|
||||
@@ -183,8 +183,8 @@ ip_config_ready (MMBaseModem *modem,
|
||||
static void
|
||||
get_ip_config_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -223,7 +223,7 @@ get_ip_config_3gpp (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearerHso *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -632,8 +632,8 @@ authenticate (Dial3gppContext *ctx)
|
||||
return;
|
||||
}
|
||||
|
||||
quoted_user = mm_at_serial_port_quote_string (user);
|
||||
quoted_password = mm_at_serial_port_quote_string (password);
|
||||
quoted_user = mm_port_serial_at_quote_string (user);
|
||||
quoted_password = mm_port_serial_at_quote_string (password);
|
||||
command = g_strdup_printf ("%s=%d,%u,%s,%s",
|
||||
auth_commands[ctx->auth_idx],
|
||||
ctx->cid,
|
||||
@@ -659,7 +659,7 @@ authenticate (Dial3gppContext *ctx)
|
||||
static void
|
||||
dial_3gpp (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -705,7 +705,7 @@ dial_3gpp (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearerHso *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GSimpleAsyncResult *result;
|
||||
} DisconnectContext;
|
||||
|
||||
@@ -749,8 +749,8 @@ disconnect_owancall_ready (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
|
||||
@@ -230,7 +230,7 @@ bearer_list_report_status_foreach (MMBearer *bearer,
|
||||
}
|
||||
|
||||
static void
|
||||
hso_connection_status_changed (MMAtSerialPort *port,
|
||||
hso_connection_status_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemHso *self)
|
||||
{
|
||||
@@ -299,10 +299,10 @@ parent_setup_unsolicited_events_ready (MMIfaceModem3gpp *self,
|
||||
g_simple_async_result_take_error (simple, error);
|
||||
else {
|
||||
/* Our own setup now */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
|
||||
MM_BROADBAND_MODEM_HSO (self)->priv->_owancall_regex,
|
||||
(MMAtSerialUnsolicitedMsgFn)hso_connection_status_changed,
|
||||
(MMPortSerialAtUnsolicitedMsgFn)hso_connection_status_changed,
|
||||
self,
|
||||
NULL);
|
||||
|
||||
@@ -360,7 +360,7 @@ modem_3gpp_cleanup_unsolicited_events (MMIfaceModem3gpp *self,
|
||||
modem_3gpp_cleanup_unsolicited_events);
|
||||
|
||||
/* Our own cleanup first */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
|
||||
MM_BROADBAND_MODEM_HSO (self)->priv->_owancall_regex,
|
||||
NULL, NULL, NULL);
|
||||
@@ -685,14 +685,14 @@ trace_received (MMPortSerialGps *port,
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *gps_control_port;
|
||||
MMPortSerialAt *gps_control_port;
|
||||
MMPortSerialGps *gps_data_port;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
MM_BROADBAND_MODEM_CLASS (mm_broadband_modem_hso_parent_class)->setup_ports (self);
|
||||
|
||||
/* _OWANCALL unsolicited messages are only expected in the primary port. */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
|
||||
MM_BROADBAND_MODEM_HSO (self)->priv->_owancall_regex,
|
||||
NULL, NULL, NULL);
|
||||
@@ -701,7 +701,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
MM_PORT_SERIAL_SEND_DELAY, (guint64) 0,
|
||||
/* built-in echo removal conflicts with unsolicited _OWANCALL
|
||||
* messages, which are not <CR><LF> prefixed. */
|
||||
MM_AT_SERIAL_PORT_REMOVE_ECHO, FALSE,
|
||||
MM_PORT_SERIAL_AT_REMOVE_ECHO, FALSE,
|
||||
NULL);
|
||||
|
||||
gps_control_port = mm_base_modem_peek_port_gps_control (MM_BASE_MODEM (self));
|
||||
|
||||
@@ -746,7 +746,7 @@ modem_3gpp_load_imei (MMIfaceModem3gpp *self,
|
||||
/* Setup/Cleanup unsolicited events (3GPP interface) */
|
||||
|
||||
static void
|
||||
option_ossys_tech_changed (MMAtSerialPort *port,
|
||||
option_ossys_tech_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModemOption *self)
|
||||
{
|
||||
@@ -783,7 +783,7 @@ option_ossys_tech_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
option_2g_tech_changed (MMAtSerialPort *port,
|
||||
option_2g_tech_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemOption *self)
|
||||
{
|
||||
@@ -799,7 +799,7 @@ option_2g_tech_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
option_3g_tech_changed (MMAtSerialPort *port,
|
||||
option_3g_tech_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemOption *self)
|
||||
{
|
||||
@@ -815,7 +815,7 @@ option_3g_tech_changed (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
option_signal_changed (MMAtSerialPort *port,
|
||||
option_signal_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemOption *self)
|
||||
{
|
||||
@@ -843,7 +843,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemOption *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -855,36 +855,36 @@ set_unsolicited_events_handlers (MMBroadbandModemOption *self,
|
||||
continue;
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->_ossysi_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)option_ossys_tech_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)option_ossys_tech_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->_octi_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)option_2g_tech_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)option_2g_tech_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->_ouwcti_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)option_3g_tech_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)option_3g_tech_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Signal quality related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->_osigq_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)option_signal_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)option_signal_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Other unsolicited events to always ignore */
|
||||
if (!enable)
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ignore_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -51,7 +51,7 @@ hso_custom_init_finish (MMPortProbe *probe,
|
||||
|
||||
static void
|
||||
hso_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -135,7 +135,7 @@ grab_port (MMPlugin *self,
|
||||
GError **error)
|
||||
{
|
||||
const gchar *name, *subsys;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
MMPortType port_type;
|
||||
|
||||
subsys = mm_port_probe_get_port_subsys (probe);
|
||||
@@ -145,13 +145,13 @@ grab_port (MMPlugin *self,
|
||||
/* Detect AT port types */
|
||||
if (g_str_equal (subsys, "tty")) {
|
||||
if (g_object_get_data (G_OBJECT (probe), TAG_HSO_AT_CONTROL))
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
else if (g_object_get_data (G_OBJECT (probe), TAG_HSO_AT_APP))
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
else if (g_object_get_data (G_OBJECT (probe), TAG_HSO_AT_GPS_CONTROL))
|
||||
pflags = MM_AT_PORT_FLAG_GPS_CONTROL;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_GPS_CONTROL;
|
||||
else if (g_object_get_data (G_OBJECT (probe), TAG_HSO_AT_MODEM))
|
||||
pflags = MM_AT_PORT_FLAG_PPP;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
else if (g_object_get_data (G_OBJECT (probe), TAG_HSO_GPS)) {
|
||||
/* Not an AT port, but the port to grab GPS traces */
|
||||
g_assert (port_type == MM_PORT_TYPE_UNKNOWN);
|
||||
|
||||
@@ -54,7 +54,7 @@ grab_port (MMPlugin *self,
|
||||
MMPortProbe *probe,
|
||||
GError **error)
|
||||
{
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
GUdevDevice *port;
|
||||
gint usbif;
|
||||
|
||||
@@ -75,7 +75,7 @@ grab_port (MMPlugin *self,
|
||||
*/
|
||||
usbif = g_udev_device_get_property_as_int (port, "ID_USB_INTERFACE_NUM");
|
||||
if (usbif == 0)
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY | MM_AT_PORT_FLAG_PPP;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY | MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
|
||||
return mm_base_modem_grab_port (modem,
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
|
||||
@@ -108,14 +108,14 @@ grab_port (MMPlugin *self,
|
||||
GError **error)
|
||||
{
|
||||
MMPortType ptype;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
|
||||
/* Always prefer the ttyACM port as PRIMARY AT port */
|
||||
if (ptype == MM_PORT_TYPE_AT &&
|
||||
g_str_has_prefix (mm_port_probe_get_port_name (probe), "ttyACM")) {
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
}
|
||||
|
||||
return mm_base_modem_grab_port (modem,
|
||||
|
||||
@@ -38,7 +38,7 @@ G_DEFINE_TYPE (MMBroadbandModemSamsung, mm_broadband_modem_samsung, MM_TYPE_BROA
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
|
||||
@@ -48,7 +48,7 @@ typedef enum {
|
||||
typedef struct {
|
||||
MMBroadbandBearerSierra *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
guint cid;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
@@ -186,7 +186,7 @@ dial_3gpp_context_step (Dial3gppContext *ctx)
|
||||
return;
|
||||
|
||||
case DIAL_3GPP_STEP_AUTHENTICATE:
|
||||
if (!MM_IS_AT_SERIAL_PORT (ctx->data)) {
|
||||
if (!MM_IS_PORT_SERIAL_AT (ctx->data)) {
|
||||
gchar *command;
|
||||
const gchar *user;
|
||||
const gchar *password;
|
||||
@@ -228,8 +228,8 @@ dial_3gpp_context_step (Dial3gppContext *ctx)
|
||||
return;
|
||||
}
|
||||
|
||||
quoted_user = mm_at_serial_port_quote_string (user);
|
||||
quoted_password = mm_at_serial_port_quote_string (password);
|
||||
quoted_user = mm_port_serial_at_quote_string (user);
|
||||
quoted_password = mm_port_serial_at_quote_string (password);
|
||||
command = g_strdup_printf ("$QCPDPP=%d,%u,%s,%s",
|
||||
ctx->cid,
|
||||
sierra_auth,
|
||||
@@ -298,7 +298,7 @@ dial_3gpp_context_step (Dial3gppContext *ctx)
|
||||
static void
|
||||
dial_3gpp (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -373,8 +373,8 @@ disconnect_scact_ready (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -389,7 +389,7 @@ disconnect_3gpp (MMBroadbandBearer *self,
|
||||
user_data,
|
||||
disconnect_3gpp);
|
||||
|
||||
if (!MM_IS_AT_SERIAL_PORT (data)) {
|
||||
if (!MM_IS_PORT_SERIAL_AT (data)) {
|
||||
gchar *command;
|
||||
|
||||
/* Use specific CID */
|
||||
|
||||
@@ -753,7 +753,7 @@ load_current_modes (MMIfaceModem *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
|
||||
result = g_simple_async_result_new (G_OBJECT (self),
|
||||
callback,
|
||||
@@ -830,7 +830,7 @@ set_current_modes (MMIfaceModem *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
gint idx = -1;
|
||||
gchar *command;
|
||||
|
||||
|
||||
@@ -268,7 +268,7 @@ mm_common_sierra_create_sim (MMIfaceModem *self,
|
||||
void
|
||||
mm_common_sierra_setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
GRegex *pacsp_regex;
|
||||
|
||||
@@ -286,11 +286,11 @@ mm_common_sierra_setup_ports (MMBroadbandModem *self)
|
||||
* parser, which doesn't always prefix responses with <CR><LF>.
|
||||
*/
|
||||
g_object_set (ports[i],
|
||||
MM_AT_SERIAL_PORT_REMOVE_ECHO, FALSE,
|
||||
MM_PORT_SERIAL_AT_REMOVE_ECHO, FALSE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
pacsp_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -48,7 +48,7 @@ int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
guint retries;
|
||||
@@ -78,7 +78,7 @@ sierra_custom_init_finish (MMPortProbe *probe,
|
||||
static void sierra_custom_init_step (SierraCustomInitContext *ctx);
|
||||
|
||||
static void
|
||||
gcap_ready (MMAtSerialPort *port,
|
||||
gcap_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
SierraCustomInitContext *ctx)
|
||||
@@ -166,19 +166,19 @@ sierra_custom_init_step (SierraCustomInitContext *ctx)
|
||||
}
|
||||
|
||||
ctx->retries--;
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"ATI",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)gcap_ready,
|
||||
(MMPortSerialAtResponseFn)gcap_ready,
|
||||
ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
sierra_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -268,7 +268,7 @@ grab_port (MMPlugin *self,
|
||||
MMPortProbe *probe,
|
||||
GError **error)
|
||||
{
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
MMPortType ptype;
|
||||
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
@@ -276,11 +276,11 @@ grab_port (MMPlugin *self,
|
||||
/* Is it a GSM secondary port? */
|
||||
if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP_PORT)) {
|
||||
if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP1_PPP_OK))
|
||||
pflags = MM_AT_PORT_FLAG_PPP;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
|
||||
else
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
} else if (ptype == MM_PORT_TYPE_AT)
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
|
||||
return mm_base_modem_grab_port (modem,
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
|
||||
@@ -69,7 +69,7 @@ simtech_act_to_mm_act (int nsmod)
|
||||
}
|
||||
|
||||
static void
|
||||
simtech_tech_changed (MMAtSerialPort *port,
|
||||
simtech_tech_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemSimtech *self)
|
||||
{
|
||||
@@ -88,7 +88,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemSimtech *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
GRegex *regex;
|
||||
|
||||
@@ -104,10 +104,10 @@ set_unsolicited_events_handlers (MMBroadbandModemSimtech *self,
|
||||
continue;
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)simtech_tech_changed : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)simtech_tech_changed : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ grab_port (MMPlugin *self,
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMPortType ptype;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
/* The Simtech plugin cannot do anything with non-AT non-QCDM ports */
|
||||
if (!mm_port_probe_is_at (probe) &&
|
||||
@@ -78,19 +78,19 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("Simtech: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_SIMTECH_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("Simtech: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
}
|
||||
|
||||
/* If the port was tagged by the udev rules but isn't a primary or secondary,
|
||||
* then ignore it to guard against race conditions if a device just happens
|
||||
* to show up with more than two AT-capable ports.
|
||||
*/
|
||||
if (pflags == MM_AT_PORT_FLAG_NONE &&
|
||||
if (pflags == MM_PORT_SERIAL_AT_FLAG_NONE &&
|
||||
g_udev_device_get_property_as_boolean (port, "ID_MM_SIMTECH_TAGGED"))
|
||||
ptype = MM_PORT_TYPE_IGNORED;
|
||||
else
|
||||
|
||||
@@ -57,7 +57,7 @@ grab_port (MMPlugin *self,
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMPortType ptype;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
@@ -70,12 +70,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("telit: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_TELIT_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("telit: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_TELIT_PORT_TYPE_NMEA")) {
|
||||
mm_dbg ("telit: port '%s/%s' flagged as NMEA",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
|
||||
@@ -297,7 +297,7 @@ get_detailed_registration_state (MMIfaceModemCdma *self,
|
||||
/* Setup/Cleanup unsolicited events (CDMA interface) */
|
||||
|
||||
static void
|
||||
handle_evdo_quality_change (MMAtSerialPort *port,
|
||||
handle_evdo_quality_change (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModemVia *self)
|
||||
{
|
||||
@@ -314,7 +314,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModemVia *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -326,10 +326,10 @@ set_unsolicited_events_handlers (MMBroadbandModemVia *self,
|
||||
continue;
|
||||
|
||||
/* Signal quality related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->hrssilvl_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)handle_evdo_quality_change : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)handle_evdo_quality_change : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -424,7 +424,7 @@ modem_cdma_cleanup_unsolicited_events (MMIfaceModemCdma *self,
|
||||
static void
|
||||
set_ignored_unsolicited_events_handlers (MMBroadbandModemVia *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -435,39 +435,39 @@ set_ignored_unsolicited_events_handlers (MMBroadbandModemVia *self)
|
||||
if (!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->mode_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->dosession_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->simst_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->vpon_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->creg_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->vrom_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->vser_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->ciev_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
self->priv->vpup_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -1167,7 +1167,7 @@ static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
gpointer parser;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GRegex *regex;
|
||||
|
||||
/* Call parent's setup ports first always */
|
||||
@@ -1187,7 +1187,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
mm_serial_parser_v1_set_custom_regex (parser, regex, NULL);
|
||||
g_regex_unref (regex);
|
||||
|
||||
mm_at_serial_port_set_response_parser (MM_AT_SERIAL_PORT (primary),
|
||||
mm_port_serial_at_set_response_parser (MM_PORT_SERIAL_AT (primary),
|
||||
mm_serial_parser_v1_parse,
|
||||
parser,
|
||||
mm_serial_parser_v1_destroy);
|
||||
|
||||
@@ -40,7 +40,7 @@ int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
|
||||
|
||||
typedef struct {
|
||||
MMPortProbe *probe;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
guint retries;
|
||||
@@ -70,7 +70,7 @@ x22x_custom_init_finish (MMPortProbe *probe,
|
||||
static void x22x_custom_init_step (X22xCustomInitContext *ctx);
|
||||
|
||||
static void
|
||||
gmr_ready (MMAtSerialPort *port,
|
||||
gmr_ready (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
X22xCustomInitContext *ctx)
|
||||
@@ -127,22 +127,22 @@ x22x_custom_init_step (X22xCustomInitContext *ctx)
|
||||
}
|
||||
|
||||
ctx->retries--;
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
"AT+GMR",
|
||||
3,
|
||||
FALSE, /* raw */
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)gmr_ready,
|
||||
(MMPortSerialAtResponseFn)gmr_ready,
|
||||
ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
x22x_custom_init (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMDevice *device;
|
||||
X22xCustomInitContext *ctx;
|
||||
@@ -215,7 +215,7 @@ grab_port (MMPlugin *self,
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMPortType ptype;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
ptype = mm_port_probe_get_port_type (probe);
|
||||
@@ -229,12 +229,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("x22x: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_X22X_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("x22x: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
} else {
|
||||
/* If the port was tagged by the udev rules but isn't a primary or secondary,
|
||||
* then ignore it to guard against race conditions if a device just happens
|
||||
|
||||
@@ -76,7 +76,7 @@ mm_common_zte_unsolicited_setup_free (MMCommonZteUnsolicitedSetup *setup)
|
||||
}
|
||||
|
||||
static void
|
||||
zpasr_received (MMAtSerialPort *port,
|
||||
zpasr_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -99,7 +99,7 @@ mm_common_zte_set_unsolicited_events_handlers (MMBroadbandModem *self,
|
||||
MMCommonZteUnsolicitedSetup *setup,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
guint i;
|
||||
|
||||
ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
|
||||
@@ -111,28 +111,28 @@ mm_common_zte_set_unsolicited_events_handlers (MMBroadbandModem *self,
|
||||
continue;
|
||||
|
||||
/* Access technology related */
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
setup->zpasr_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn)zpasr_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn)zpasr_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
|
||||
/* Other unsolicited events to always ignore */
|
||||
if (!enable) {
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
setup->zusimr_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
setup->zdonr_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
setup->zpstm_regex,
|
||||
NULL, NULL, NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
setup->zend_regex,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
@@ -111,7 +111,7 @@ grab_port (MMPlugin *self,
|
||||
GError **error)
|
||||
{
|
||||
GUdevDevice *port;
|
||||
MMAtPortFlag pflags = MM_AT_PORT_FLAG_NONE;
|
||||
MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
|
||||
MMPortType ptype;
|
||||
|
||||
port = mm_port_probe_peek_port (probe);
|
||||
@@ -132,12 +132,12 @@ grab_port (MMPlugin *self,
|
||||
mm_dbg ("ZTE: AT port '%s/%s' flagged as primary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_PRIMARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
|
||||
} else if (g_udev_device_get_property_as_boolean (port, "ID_MM_ZTE_PORT_TYPE_AUX")) {
|
||||
mm_dbg ("ZTE: AT port '%s/%s' flagged as secondary",
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe));
|
||||
pflags = MM_AT_PORT_FLAG_SECONDARY;
|
||||
pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -55,11 +55,11 @@ endif
|
||||
# libserial specific enum types
|
||||
SERIAL_ENUMS = \
|
||||
$(srcdir)/mm-port.h \
|
||||
$(srcdir)/mm-at-serial-port.h
|
||||
$(srcdir)/mm-port-serial-at.h
|
||||
|
||||
mm-serial-enums-types.h: Makefile.am $(SERIAL_ENUMS) $(top_srcdir)/build-aux/mm-enums-template.h
|
||||
$(AM_V_GEN) $(GLIB_MKENUMS) \
|
||||
--fhead "#include \"mm-port.h\"\n#include \"mm-at-serial-port.h\"\n#ifndef __MM_SERIAL_ENUMS_TYPES_H__\n#define __MM_SERIAL_ENUMS_TYPES_H__\n" \
|
||||
--fhead "#include \"mm-port.h\"\n#include \"mm-port-serial-at.h\"\n#ifndef __MM_SERIAL_ENUMS_TYPES_H__\n#define __MM_SERIAL_ENUMS_TYPES_H__\n" \
|
||||
--template $(top_srcdir)/build-aux/mm-enums-template.h \
|
||||
--ftail "#endif /* __MM_SERIAL_ENUMS_TYPES_H__ */\n" \
|
||||
$(SERIAL_ENUMS) > $@
|
||||
@@ -88,8 +88,8 @@ libserial_la_SOURCES = \
|
||||
mm-port.h \
|
||||
mm-port-serial.c \
|
||||
mm-port-serial.h \
|
||||
mm-at-serial-port.c \
|
||||
mm-at-serial-port.h \
|
||||
mm-port-serial-at.c \
|
||||
mm-port-serial-at.h \
|
||||
mm-port-serial-qcdm.c \
|
||||
mm-port-serial-qcdm.h \
|
||||
mm-port-serial-gps.c \
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details:
|
||||
*
|
||||
* Copyright (C) 2008 - 2009 Novell, Inc.
|
||||
* Copyright (C) 2009 - 2010 Red Hat, Inc.
|
||||
*/
|
||||
|
||||
#ifndef MM_AT_SERIAL_PORT_H
|
||||
#define MM_AT_SERIAL_PORT_H
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "mm-port-serial.h"
|
||||
|
||||
#define MM_TYPE_AT_SERIAL_PORT (mm_at_serial_port_get_type ())
|
||||
#define MM_AT_SERIAL_PORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_AT_SERIAL_PORT, MMAtSerialPort))
|
||||
#define MM_AT_SERIAL_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_AT_SERIAL_PORT, MMAtSerialPortClass))
|
||||
#define MM_IS_AT_SERIAL_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_AT_SERIAL_PORT))
|
||||
#define MM_IS_AT_SERIAL_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_AT_SERIAL_PORT))
|
||||
#define MM_AT_SERIAL_PORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_AT_SERIAL_PORT, MMAtSerialPortClass))
|
||||
|
||||
typedef struct _MMAtSerialPort MMAtSerialPort;
|
||||
typedef struct _MMAtSerialPortClass MMAtSerialPortClass;
|
||||
|
||||
/* AT port flags; for example consider a device with two AT ports (ACM0 and ACM1)
|
||||
* which could have the following layouts:
|
||||
*
|
||||
* ACM0(PRIMARY | PPP), ACM1(SECONDARY): port 0 is used for command and status
|
||||
* and for PPP data; while connected port 1 is used for command and status
|
||||
* ACM0(PPP), ACM1(PRIMARY): port 1 is always used for command and status, and
|
||||
* only when connecting is port 0 opened for dialing (ATD) and PPP
|
||||
*/
|
||||
typedef enum { /*< underscore_name=mm_at_port_flag >*/
|
||||
MM_AT_PORT_FLAG_NONE = 0,
|
||||
/* This port is preferred for command and status */
|
||||
MM_AT_PORT_FLAG_PRIMARY = 1 << 0,
|
||||
/* Use port for command and status if the primary port is connected */
|
||||
MM_AT_PORT_FLAG_SECONDARY = 1 << 1,
|
||||
/* This port should be used for PPP */
|
||||
MM_AT_PORT_FLAG_PPP = 1 << 2,
|
||||
/* This port should be used for GPS control */
|
||||
MM_AT_PORT_FLAG_GPS_CONTROL = 1 << 3,
|
||||
} MMAtPortFlag;
|
||||
|
||||
typedef gboolean (*MMAtSerialResponseParserFn) (gpointer user_data,
|
||||
GString *response,
|
||||
GError **error);
|
||||
|
||||
typedef void (*MMAtSerialUnsolicitedMsgFn) (MMAtSerialPort *port,
|
||||
GMatchInfo *match_info,
|
||||
gpointer user_data);
|
||||
|
||||
typedef void (*MMAtSerialResponseFn) (MMAtSerialPort *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
gpointer user_data);
|
||||
|
||||
#define MM_AT_SERIAL_PORT_REMOVE_ECHO "remove-echo"
|
||||
#define MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED "init-sequence-enabled"
|
||||
#define MM_AT_SERIAL_PORT_INIT_SEQUENCE "init-sequence"
|
||||
|
||||
#define MM_AT_SERIAL_PORT_SEND_LF "send-lf"
|
||||
|
||||
struct _MMAtSerialPort {
|
||||
MMPortSerial parent;
|
||||
};
|
||||
|
||||
struct _MMAtSerialPortClass {
|
||||
MMPortSerialClass parent;
|
||||
};
|
||||
|
||||
GType mm_at_serial_port_get_type (void);
|
||||
|
||||
MMAtSerialPort *mm_at_serial_port_new (const char *name);
|
||||
|
||||
void mm_at_serial_port_add_unsolicited_msg_handler (MMAtSerialPort *self,
|
||||
GRegex *regex,
|
||||
MMAtSerialUnsolicitedMsgFn callback,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
|
||||
void mm_at_serial_port_enable_unsolicited_msg_handler (MMAtSerialPort *self,
|
||||
GRegex *regex,
|
||||
gboolean enable);
|
||||
|
||||
void mm_at_serial_port_set_response_parser (MMAtSerialPort *self,
|
||||
MMAtSerialResponseParserFn fn,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
|
||||
void mm_at_serial_port_queue_command (MMAtSerialPort *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMAtSerialResponseFn callback,
|
||||
gpointer user_data);
|
||||
|
||||
void mm_at_serial_port_queue_command_cached (MMAtSerialPort *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMAtSerialResponseFn callback,
|
||||
gpointer user_data);
|
||||
|
||||
/*
|
||||
* Convert a string into a quoted and escaped string. Returns a new
|
||||
* allocated string. Follows ITU V.250 5.4.2.2 "String constants".
|
||||
*/
|
||||
gchar *mm_at_serial_port_quote_string (const char *string);
|
||||
|
||||
/* Just for unit tests */
|
||||
void mm_at_serial_port_remove_echo (GByteArray *response);
|
||||
|
||||
void mm_at_serial_port_set_flags (MMAtSerialPort *self,
|
||||
MMAtPortFlag flags);
|
||||
|
||||
MMAtPortFlag mm_at_serial_port_get_flags (MMAtSerialPort *self);
|
||||
|
||||
/* Tell the port to run its init sequence, if any, right away */
|
||||
void mm_at_serial_port_run_init_sequence (MMAtSerialPort *self);
|
||||
|
||||
#endif /* MM_AT_SERIAL_PORT_H */
|
||||
+22
-22
@@ -23,7 +23,7 @@
|
||||
|
||||
static gboolean
|
||||
abort_async_if_port_unusable (MMBaseModem *self,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
@@ -56,8 +56,8 @@ abort_async_if_port_unusable (MMBaseModem *self,
|
||||
|
||||
/* Temporarily disable init sequence if we're just sending a
|
||||
* command to a just opened port */
|
||||
g_object_get (port, MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, &init_sequence_enabled, NULL);
|
||||
g_object_set (port, MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, FALSE, NULL);
|
||||
g_object_get (port, MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, &init_sequence_enabled, NULL);
|
||||
g_object_set (port, MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, FALSE, NULL);
|
||||
|
||||
/* Ensure we have a port open during the sequence */
|
||||
if (!mm_port_serial_open (MM_PORT_SERIAL (port), &error)) {
|
||||
@@ -74,7 +74,7 @@ abort_async_if_port_unusable (MMBaseModem *self,
|
||||
}
|
||||
|
||||
/* Reset previous init sequence state */
|
||||
g_object_set (port, MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, init_sequence_enabled, NULL);
|
||||
g_object_set (port, MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, init_sequence_enabled, NULL);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -91,7 +91,7 @@ modem_cancellable_cancelled (GCancellable *modem_cancellable,
|
||||
|
||||
typedef struct {
|
||||
MMBaseModem *self;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
gulong cancelled_id;
|
||||
GCancellable *modem_cancellable;
|
||||
@@ -153,7 +153,7 @@ mm_base_modem_at_sequence_full_finish (MMBaseModem *self,
|
||||
}
|
||||
|
||||
static void
|
||||
at_sequence_parse_response (MMAtSerialPort *port,
|
||||
at_sequence_parse_response (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
AtSequenceContext *ctx)
|
||||
@@ -206,22 +206,22 @@ at_sequence_parse_response (MMAtSerialPort *port,
|
||||
if (ctx->current->command) {
|
||||
/* Schedule the next command in the probing group */
|
||||
if (ctx->current->allow_cached)
|
||||
mm_at_serial_port_queue_command_cached (
|
||||
mm_port_serial_at_queue_command_cached (
|
||||
ctx->port,
|
||||
ctx->current->command,
|
||||
ctx->current->timeout,
|
||||
FALSE,
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)at_sequence_parse_response,
|
||||
(MMPortSerialAtResponseFn)at_sequence_parse_response,
|
||||
ctx);
|
||||
else
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
ctx->current->command,
|
||||
ctx->current->timeout,
|
||||
FALSE,
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)at_sequence_parse_response,
|
||||
(MMPortSerialAtResponseFn)at_sequence_parse_response,
|
||||
ctx);
|
||||
return;
|
||||
}
|
||||
@@ -252,7 +252,7 @@ at_sequence_parse_response (MMAtSerialPort *port,
|
||||
|
||||
void
|
||||
mm_base_modem_at_sequence_full (MMBaseModem *self,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
const MMBaseModemAtCommand *sequence,
|
||||
gpointer response_processor_context,
|
||||
GDestroyNotify response_processor_context_free,
|
||||
@@ -295,13 +295,13 @@ mm_base_modem_at_sequence_full (MMBaseModem *self,
|
||||
}
|
||||
|
||||
/* Go on with the first one in the sequence */
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
ctx->port,
|
||||
ctx->current->command,
|
||||
ctx->current->timeout,
|
||||
FALSE,
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)at_sequence_parse_response,
|
||||
(MMPortSerialAtResponseFn)at_sequence_parse_response,
|
||||
ctx);
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ mm_base_modem_at_sequence (MMBaseModem *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GError *error = NULL;
|
||||
|
||||
/* No port given, so we'll try to guess which is best */
|
||||
@@ -431,7 +431,7 @@ mm_base_modem_response_processor_continue_on_error (MMBaseModem *self,
|
||||
|
||||
typedef struct {
|
||||
MMBaseModem *self;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GCancellable *cancellable;
|
||||
gulong cancelled_id;
|
||||
GCancellable *modem_cancellable;
|
||||
@@ -470,7 +470,7 @@ mm_base_modem_at_command_full_finish (MMBaseModem *self,
|
||||
}
|
||||
|
||||
static void
|
||||
at_command_parse_response (MMAtSerialPort *port,
|
||||
at_command_parse_response (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
AtCommandContext *ctx)
|
||||
@@ -502,7 +502,7 @@ at_command_parse_response (MMAtSerialPort *port,
|
||||
|
||||
void
|
||||
mm_base_modem_at_command_full (MMBaseModem *self,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
const gchar *command,
|
||||
guint timeout,
|
||||
gboolean allow_cached,
|
||||
@@ -543,22 +543,22 @@ mm_base_modem_at_command_full (MMBaseModem *self,
|
||||
|
||||
/* Go on with the command */
|
||||
if (allow_cached)
|
||||
mm_at_serial_port_queue_command_cached (
|
||||
mm_port_serial_at_queue_command_cached (
|
||||
port,
|
||||
command,
|
||||
timeout,
|
||||
is_raw,
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)at_command_parse_response,
|
||||
(MMPortSerialAtResponseFn)at_command_parse_response,
|
||||
ctx);
|
||||
else
|
||||
mm_at_serial_port_queue_command (
|
||||
mm_port_serial_at_queue_command (
|
||||
port,
|
||||
command,
|
||||
timeout,
|
||||
is_raw,
|
||||
ctx->cancellable,
|
||||
(MMAtSerialResponseFn)at_command_parse_response,
|
||||
(MMPortSerialAtResponseFn)at_command_parse_response,
|
||||
ctx);
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ _at_command (MMBaseModem *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GError *error = NULL;
|
||||
|
||||
/* No port given, so we'll try to guess which is best */
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "mm-base-modem.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
|
||||
/*
|
||||
* The expected result depends on the specific operation, so the GVariant
|
||||
@@ -79,7 +79,7 @@ GVariant *mm_base_modem_at_sequence_finish (MMBaseModem *self,
|
||||
/* Fully detailed AT sequence handling, when specific AT port and/or explicit
|
||||
* cancellations need to be used. */
|
||||
void mm_base_modem_at_sequence_full (MMBaseModem *self,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
const MMBaseModemAtCommand *sequence,
|
||||
gpointer response_processor_context,
|
||||
GDestroyNotify response_processor_context_free,
|
||||
@@ -152,7 +152,7 @@ const gchar *mm_base_modem_at_command_finish (MMBaseModem *self,
|
||||
/* Fully detailed AT command handling, when specific AT port and/or explicit
|
||||
* cancellations need to be used. */
|
||||
void mm_base_modem_at_command_full (MMBaseModem *self,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
const gchar *command,
|
||||
guint timeout,
|
||||
gboolean allow_cached,
|
||||
|
||||
+45
-45
@@ -77,14 +77,14 @@ struct _MMBaseModemPrivate {
|
||||
GCancellable *authp_cancellable;
|
||||
|
||||
GHashTable *ports;
|
||||
MMAtSerialPort *primary;
|
||||
MMAtSerialPort *secondary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPortSerialAt *secondary;
|
||||
MMPortSerialQcdm *qcdm;
|
||||
GList *data;
|
||||
|
||||
/* GPS-enabled modems will have an AT port for control, and a raw serial
|
||||
* port to receive all GPS traces */
|
||||
MMAtSerialPort *gps_control;
|
||||
MMPortSerialAt *gps_control;
|
||||
MMPortSerialGps *gps;
|
||||
|
||||
#if defined WITH_QMI
|
||||
@@ -162,7 +162,7 @@ mm_base_modem_grab_port (MMBaseModem *self,
|
||||
const gchar *subsys,
|
||||
const gchar *name,
|
||||
MMPortType ptype,
|
||||
MMAtPortFlag at_pflags,
|
||||
MMPortSerialAtFlag at_pflags,
|
||||
GError **error)
|
||||
{
|
||||
MMPort *port;
|
||||
@@ -206,15 +206,15 @@ mm_base_modem_grab_port (MMBaseModem *self,
|
||||
port = MM_PORT (mm_port_serial_qcdm_new (name));
|
||||
else if (ptype == MM_PORT_TYPE_AT) {
|
||||
/* AT port */
|
||||
port = MM_PORT (mm_at_serial_port_new (name));
|
||||
port = MM_PORT (mm_port_serial_at_new (name));
|
||||
|
||||
/* Set common response parser */
|
||||
mm_at_serial_port_set_response_parser (MM_AT_SERIAL_PORT (port),
|
||||
mm_port_serial_at_set_response_parser (MM_PORT_SERIAL_AT (port),
|
||||
mm_serial_parser_v1_parse,
|
||||
mm_serial_parser_v1_new (),
|
||||
mm_serial_parser_v1_destroy);
|
||||
/* Store flags already */
|
||||
mm_at_serial_port_set_flags (MM_AT_SERIAL_PORT (port), at_pflags);
|
||||
mm_port_serial_at_set_flags (MM_PORT_SERIAL_AT (port), at_pflags);
|
||||
} else if (ptype == MM_PORT_TYPE_GPS) {
|
||||
/* Raw GPS port */
|
||||
port = MM_PORT (mm_port_serial_gps_new (name));
|
||||
@@ -487,7 +487,7 @@ mm_base_modem_get_cancellable (MMBaseModem *self)
|
||||
return g_object_ref (self->priv->cancellable);
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_get_port_primary (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -495,7 +495,7 @@ mm_base_modem_get_port_primary (MMBaseModem *self)
|
||||
return (self->priv->primary ? g_object_ref (self->priv->primary) : NULL);
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_peek_port_primary (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -503,7 +503,7 @@ mm_base_modem_peek_port_primary (MMBaseModem *self)
|
||||
return self->priv->primary;
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_get_port_secondary (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -511,7 +511,7 @@ mm_base_modem_get_port_secondary (MMBaseModem *self)
|
||||
return (self->priv->secondary ? g_object_ref (self->priv->secondary) : NULL);
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_peek_port_secondary (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -535,7 +535,7 @@ mm_base_modem_peek_port_qcdm (MMBaseModem *self)
|
||||
return self->priv->qcdm;
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_get_port_gps_control (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -543,7 +543,7 @@ mm_base_modem_get_port_gps_control (MMBaseModem *self)
|
||||
return (self->priv->gps_control ? g_object_ref (self->priv->gps_control) : NULL);
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_peek_port_gps_control (MMBaseModem *self)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
|
||||
@@ -919,17 +919,17 @@ mm_base_modem_peek_data_ports (MMBaseModem *self)
|
||||
return self->priv->data;
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_get_best_at_port (MMBaseModem *self,
|
||||
GError **error)
|
||||
{
|
||||
MMAtSerialPort *best;
|
||||
MMPortSerialAt *best;
|
||||
|
||||
best = mm_base_modem_peek_best_at_port (self, error);
|
||||
return (best ? g_object_ref (best) : NULL);
|
||||
}
|
||||
|
||||
MMAtSerialPort *
|
||||
MMPortSerialAt *
|
||||
mm_base_modem_peek_best_at_port (MMBaseModem *self,
|
||||
GError **error)
|
||||
{
|
||||
@@ -962,7 +962,7 @@ mm_base_modem_has_at_port (MMBaseModem *self)
|
||||
/* We'll iterate the ht of ports, looking for any port which is AT */
|
||||
g_hash_table_iter_init (&iter, self->priv->ports);
|
||||
while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||
if (MM_IS_AT_SERIAL_PORT (value))
|
||||
if (MM_IS_PORT_SERIAL_AT (value))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1064,13 +1064,13 @@ mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
{
|
||||
GHashTableIter iter;
|
||||
MMPort *candidate;
|
||||
MMAtPortFlag flags;
|
||||
MMAtSerialPort *backup_primary = NULL;
|
||||
MMAtSerialPort *primary = NULL;
|
||||
MMAtSerialPort *secondary = NULL;
|
||||
MMAtSerialPort *backup_secondary = NULL;
|
||||
MMPortSerialAtFlag flags;
|
||||
MMPortSerialAt *backup_primary = NULL;
|
||||
MMPortSerialAt *primary = NULL;
|
||||
MMPortSerialAt *secondary = NULL;
|
||||
MMPortSerialAt *backup_secondary = NULL;
|
||||
MMPortSerialQcdm *qcdm = NULL;
|
||||
MMAtSerialPort *gps_control = NULL;
|
||||
MMPortSerialAt *gps_control = NULL;
|
||||
MMPortSerialGps *gps = NULL;
|
||||
MMPort *data_primary = NULL;
|
||||
GList *data = NULL;
|
||||
@@ -1095,22 +1095,22 @@ mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
switch (mm_port_get_port_type (candidate)) {
|
||||
|
||||
case MM_PORT_TYPE_AT:
|
||||
g_assert (MM_IS_AT_SERIAL_PORT (candidate));
|
||||
flags = mm_at_serial_port_get_flags (MM_AT_SERIAL_PORT (candidate));
|
||||
g_assert (MM_IS_PORT_SERIAL_AT (candidate));
|
||||
flags = mm_port_serial_at_get_flags (MM_PORT_SERIAL_AT (candidate));
|
||||
|
||||
if (flags & MM_AT_PORT_FLAG_PRIMARY) {
|
||||
if (flags & MM_PORT_SERIAL_AT_FLAG_PRIMARY) {
|
||||
if (!primary)
|
||||
primary = MM_AT_SERIAL_PORT (candidate);
|
||||
primary = MM_PORT_SERIAL_AT (candidate);
|
||||
else if (!backup_primary) {
|
||||
/* Just in case the plugin gave us more than one primary
|
||||
* and no secondaries, treat additional primary ports as
|
||||
* secondary.
|
||||
*/
|
||||
backup_primary = MM_AT_SERIAL_PORT (candidate);
|
||||
backup_primary = MM_PORT_SERIAL_AT (candidate);
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & MM_AT_PORT_FLAG_PPP) {
|
||||
if (flags & MM_PORT_SERIAL_AT_FLAG_PPP) {
|
||||
if (!data_primary)
|
||||
data_primary = candidate;
|
||||
else
|
||||
@@ -1118,22 +1118,22 @@ mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
}
|
||||
|
||||
/* Explicitly flagged secondary ports trump NONE ports for secondary */
|
||||
if (flags & MM_AT_PORT_FLAG_SECONDARY) {
|
||||
if (!secondary || !(mm_at_serial_port_get_flags (secondary) & MM_AT_PORT_FLAG_SECONDARY))
|
||||
secondary = MM_AT_SERIAL_PORT (candidate);
|
||||
if (flags & MM_PORT_SERIAL_AT_FLAG_SECONDARY) {
|
||||
if (!secondary || !(mm_port_serial_at_get_flags (secondary) & MM_PORT_SERIAL_AT_FLAG_SECONDARY))
|
||||
secondary = MM_PORT_SERIAL_AT (candidate);
|
||||
}
|
||||
|
||||
if (flags & MM_AT_PORT_FLAG_GPS_CONTROL) {
|
||||
if (flags & MM_PORT_SERIAL_AT_FLAG_GPS_CONTROL) {
|
||||
if (!gps_control)
|
||||
gps_control = MM_AT_SERIAL_PORT (candidate);
|
||||
gps_control = MM_PORT_SERIAL_AT (candidate);
|
||||
}
|
||||
|
||||
/* Fallback secondary */
|
||||
if (flags == MM_AT_PORT_FLAG_NONE) {
|
||||
if (flags == MM_PORT_SERIAL_AT_FLAG_NONE) {
|
||||
if (!secondary)
|
||||
secondary = MM_AT_SERIAL_PORT (candidate);
|
||||
secondary = MM_PORT_SERIAL_AT (candidate);
|
||||
else if (!backup_secondary)
|
||||
backup_secondary = MM_AT_SERIAL_PORT (candidate);
|
||||
backup_secondary = MM_PORT_SERIAL_AT (candidate);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1146,7 +1146,7 @@ mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
case MM_PORT_TYPE_NET:
|
||||
if (!data_primary)
|
||||
data_primary = candidate;
|
||||
else if (MM_IS_AT_SERIAL_PORT (data_primary)) {
|
||||
else if (MM_IS_PORT_SERIAL_AT (data_primary)) {
|
||||
/* Net device (if any) is the preferred data port */
|
||||
data = g_list_append (data, data_primary);
|
||||
data_primary = candidate;
|
||||
@@ -1252,17 +1252,17 @@ mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
/* Reset flags on all ports; clear data port first since it might also
|
||||
* be the primary or secondary port.
|
||||
*/
|
||||
if (MM_IS_AT_SERIAL_PORT (data_primary))
|
||||
mm_at_serial_port_set_flags (MM_AT_SERIAL_PORT (data_primary), MM_AT_PORT_FLAG_NONE);
|
||||
if (MM_IS_PORT_SERIAL_AT (data_primary))
|
||||
mm_port_serial_at_set_flags (MM_PORT_SERIAL_AT (data_primary), MM_PORT_SERIAL_AT_FLAG_NONE);
|
||||
|
||||
if (primary)
|
||||
mm_at_serial_port_set_flags (primary, MM_AT_PORT_FLAG_PRIMARY);
|
||||
mm_port_serial_at_set_flags (primary, MM_PORT_SERIAL_AT_FLAG_PRIMARY);
|
||||
if (secondary)
|
||||
mm_at_serial_port_set_flags (secondary, MM_AT_PORT_FLAG_SECONDARY);
|
||||
mm_port_serial_at_set_flags (secondary, MM_PORT_SERIAL_AT_FLAG_SECONDARY);
|
||||
|
||||
if (MM_IS_AT_SERIAL_PORT (data_primary)) {
|
||||
flags = mm_at_serial_port_get_flags (MM_AT_SERIAL_PORT (data_primary));
|
||||
mm_at_serial_port_set_flags (MM_AT_SERIAL_PORT (data_primary), flags | MM_AT_PORT_FLAG_PPP);
|
||||
if (MM_IS_PORT_SERIAL_AT (data_primary)) {
|
||||
flags = mm_port_serial_at_get_flags (MM_PORT_SERIAL_AT (data_primary));
|
||||
mm_port_serial_at_set_flags (MM_PORT_SERIAL_AT (data_primary), flags | MM_PORT_SERIAL_AT_FLAG_PPP);
|
||||
}
|
||||
|
||||
log_port (self, MM_PORT (primary), "at (primary)");
|
||||
|
||||
+10
-10
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "mm-auth.h"
|
||||
#include "mm-port.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-port-serial-qcdm.h"
|
||||
#include "mm-port-serial-gps.h"
|
||||
|
||||
@@ -107,7 +107,7 @@ gboolean mm_base_modem_grab_port (MMBaseModem *self,
|
||||
const gchar *subsys,
|
||||
const gchar *name,
|
||||
MMPortType ptype,
|
||||
MMAtPortFlag at_pflags,
|
||||
MMPortSerialAtFlag at_pflags,
|
||||
GError **error);
|
||||
void mm_base_modem_release_port (MMBaseModem *self,
|
||||
const gchar *subsys,
|
||||
@@ -124,10 +124,10 @@ gboolean mm_base_modem_has_at_port (MMBaseModem *self);
|
||||
gboolean mm_base_modem_organize_ports (MMBaseModem *self,
|
||||
GError **error);
|
||||
|
||||
MMAtSerialPort *mm_base_modem_peek_port_primary (MMBaseModem *self);
|
||||
MMAtSerialPort *mm_base_modem_peek_port_secondary (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_peek_port_primary (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_peek_port_secondary (MMBaseModem *self);
|
||||
MMPortSerialQcdm *mm_base_modem_peek_port_qcdm (MMBaseModem *self);
|
||||
MMAtSerialPort *mm_base_modem_peek_port_gps_control (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_peek_port_gps_control (MMBaseModem *self);
|
||||
MMPortSerialGps *mm_base_modem_peek_port_gps (MMBaseModem *self);
|
||||
#if defined WITH_QMI
|
||||
MMQmiPort *mm_base_modem_peek_port_qmi (MMBaseModem *self);
|
||||
@@ -137,14 +137,14 @@ MMQmiPort *mm_base_modem_peek_port_qmi_for_data (MMBaseModem *self, MMPor
|
||||
MMMbimPort *mm_base_modem_peek_port_mbim (MMBaseModem *self);
|
||||
MMMbimPort *mm_base_modem_peek_port_mbim_for_data (MMBaseModem *self, MMPort *data, GError **error);
|
||||
#endif
|
||||
MMAtSerialPort *mm_base_modem_peek_best_at_port (MMBaseModem *self, GError **error);
|
||||
MMPortSerialAt *mm_base_modem_peek_best_at_port (MMBaseModem *self, GError **error);
|
||||
MMPort *mm_base_modem_peek_best_data_port (MMBaseModem *self, MMPortType type);
|
||||
GList *mm_base_modem_peek_data_ports (MMBaseModem *self);
|
||||
|
||||
MMAtSerialPort *mm_base_modem_get_port_primary (MMBaseModem *self);
|
||||
MMAtSerialPort *mm_base_modem_get_port_secondary (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_get_port_primary (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_get_port_secondary (MMBaseModem *self);
|
||||
MMPortSerialQcdm *mm_base_modem_get_port_qcdm (MMBaseModem *self);
|
||||
MMAtSerialPort *mm_base_modem_get_port_gps_control (MMBaseModem *self);
|
||||
MMPortSerialAt *mm_base_modem_get_port_gps_control (MMBaseModem *self);
|
||||
MMPortSerialGps *mm_base_modem_get_port_gps (MMBaseModem *self);
|
||||
#if defined WITH_QMI
|
||||
MMQmiPort *mm_base_modem_get_port_qmi (MMBaseModem *self);
|
||||
@@ -154,7 +154,7 @@ MMQmiPort *mm_base_modem_get_port_qmi_for_data (MMBaseModem *self, MMPort
|
||||
MMMbimPort *mm_base_modem_get_port_mbim (MMBaseModem *self);
|
||||
MMMbimPort *mm_base_modem_get_port_mbim_for_data (MMBaseModem *self, MMPort *data, GError **error);
|
||||
#endif
|
||||
MMAtSerialPort *mm_base_modem_get_best_at_port (MMBaseModem *self, GError **error);
|
||||
MMPortSerialAt *mm_base_modem_get_best_at_port (MMBaseModem *self, GError **error);
|
||||
MMPort *mm_base_modem_get_best_data_port (MMBaseModem *self, MMPortType type);
|
||||
GList *mm_base_modem_get_data_ports (MMBaseModem *self);
|
||||
|
||||
|
||||
+33
-33
@@ -74,8 +74,8 @@ mm_broadband_bearer_get_3gpp_cid (MMBroadbandBearer *self)
|
||||
typedef struct {
|
||||
MMBroadbandBearer *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMAtSerialPort *secondary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPortSerialAt *secondary;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
|
||||
@@ -149,8 +149,8 @@ detailed_connect_context_complete_and_free_if_cancelled (DetailedConnectContext
|
||||
static DetailedConnectContext *
|
||||
detailed_connect_context_new (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -188,7 +188,7 @@ detailed_connect_context_new (MMBroadbandBearer *self,
|
||||
/*****************************************************************************/
|
||||
/* Generic implementations (both 3GPP and CDMA) are always AT-port based */
|
||||
|
||||
static MMAtSerialPort *
|
||||
static MMPortSerialAt *
|
||||
common_get_at_data_port (MMBaseModem *modem,
|
||||
GError **error)
|
||||
{
|
||||
@@ -204,7 +204,7 @@ common_get_at_data_port (MMBaseModem *modem,
|
||||
data = (MMPort *) mm_base_modem_peek_port_primary (modem);
|
||||
}
|
||||
|
||||
g_assert (MM_IS_AT_SERIAL_PORT (data));
|
||||
g_assert (MM_IS_PORT_SERIAL_AT (data));
|
||||
|
||||
if (!mm_port_serial_open (MM_PORT_SERIAL (data), error)) {
|
||||
g_prefix_error (error, "Couldn't connect: cannot keep data port open.");
|
||||
@@ -213,7 +213,7 @@ common_get_at_data_port (MMBaseModem *modem,
|
||||
|
||||
mm_dbg ("Connection through a plain serial AT port (%s)", mm_port_get_device (data));
|
||||
|
||||
return MM_AT_SERIAL_PORT (g_object_ref (data));
|
||||
return MM_PORT_SERIAL_AT (g_object_ref (data));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -252,7 +252,7 @@ dial_cdma_ready (MMBaseModem *modem,
|
||||
ctx->close_data_on_exit = FALSE;
|
||||
|
||||
/* Generic CDMA connections are done over PPP always */
|
||||
g_assert (MM_IS_AT_SERIAL_PORT (ctx->data));
|
||||
g_assert (MM_IS_PORT_SERIAL_AT (ctx->data));
|
||||
config = mm_bearer_ip_config_new ();
|
||||
mm_bearer_ip_config_set_method (config, MM_BEARER_IP_METHOD_PPP);
|
||||
|
||||
@@ -283,7 +283,7 @@ cdma_connect_context_dial (DetailedConnectContext *ctx)
|
||||
command = g_strdup ("DT#777");
|
||||
|
||||
mm_base_modem_at_command_full (ctx->modem,
|
||||
MM_AT_SERIAL_PORT (ctx->data),
|
||||
MM_PORT_SERIAL_AT (ctx->data),
|
||||
command,
|
||||
90,
|
||||
FALSE,
|
||||
@@ -389,8 +389,8 @@ current_rm_protocol_ready (MMBaseModem *self,
|
||||
static void
|
||||
connect_cdma (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary, /* unused by us */
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary, /* unused by us */
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -445,12 +445,12 @@ connect_cdma (MMBroadbandBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearer *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
GCancellable *cancellable;
|
||||
GSimpleAsyncResult *result;
|
||||
GError *saved_error;
|
||||
|
||||
MMAtSerialPort *dial_port;
|
||||
MMPortSerialAt *dial_port;
|
||||
gboolean close_dial_port_on_exit;
|
||||
} Dial3gppContext;
|
||||
|
||||
@@ -574,7 +574,7 @@ atd_ready (MMBaseModem *modem,
|
||||
static void
|
||||
dial_3gpp (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -654,7 +654,7 @@ get_ip_config_3gpp_ready (MMBroadbandModem *modem,
|
||||
}
|
||||
|
||||
/* Keep port open during connection */
|
||||
if (MM_IS_AT_SERIAL_PORT (ctx->data))
|
||||
if (MM_IS_PORT_SERIAL_AT (ctx->data))
|
||||
ctx->close_data_on_exit = FALSE;
|
||||
|
||||
g_simple_async_result_set_op_res_gpointer (
|
||||
@@ -688,7 +688,7 @@ dial_3gpp_ready (MMBroadbandModem *modem,
|
||||
|
||||
/* If the dialling operation used an AT port, it is assumed to have an extra
|
||||
* open() count. */
|
||||
if (MM_IS_AT_SERIAL_PORT (ctx->data))
|
||||
if (MM_IS_PORT_SERIAL_AT (ctx->data))
|
||||
ctx->close_data_on_exit = TRUE;
|
||||
|
||||
if (MM_BROADBAND_BEARER_GET_CLASS (ctx->self)->get_ip_config_3gpp &&
|
||||
@@ -709,14 +709,14 @@ dial_3gpp_ready (MMBroadbandModem *modem,
|
||||
/* Yuhu! */
|
||||
|
||||
/* Keep port open during connection */
|
||||
if (MM_IS_AT_SERIAL_PORT (ctx->data))
|
||||
if (MM_IS_PORT_SERIAL_AT (ctx->data))
|
||||
ctx->close_data_on_exit = FALSE;
|
||||
|
||||
/* If no specific IP retrieval requested, set the default implementation
|
||||
* (PPP if data port is AT, DHCP otherwise) */
|
||||
config = mm_bearer_ip_config_new ();
|
||||
mm_bearer_ip_config_set_method (config,
|
||||
(MM_IS_AT_SERIAL_PORT (ctx->data) ?
|
||||
(MM_IS_PORT_SERIAL_AT (ctx->data) ?
|
||||
MM_BEARER_IP_METHOD_PPP :
|
||||
MM_BEARER_IP_METHOD_DHCP));
|
||||
|
||||
@@ -814,7 +814,7 @@ find_cid_ready (MMBaseModem *modem,
|
||||
}
|
||||
|
||||
/* Otherwise, initialize a new PDP context with our APN */
|
||||
apn = mm_at_serial_port_quote_string (mm_bearer_properties_get_apn (mm_bearer_peek_config (MM_BEARER (ctx->self))));
|
||||
apn = mm_port_serial_at_quote_string (mm_bearer_properties_get_apn (mm_bearer_peek_config (MM_BEARER (ctx->self))));
|
||||
command = g_strdup_printf ("+CGDCONT=%u,\"%s\",%s",
|
||||
ctx->cid,
|
||||
pdp_type,
|
||||
@@ -999,8 +999,8 @@ static const MMBaseModemAtCommand find_cid_sequence[] = {
|
||||
static void
|
||||
connect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -1120,7 +1120,7 @@ connect (MMBearer *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMBaseModem *modem = NULL;
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
ConnectContext *ctx;
|
||||
const gchar *apn;
|
||||
|
||||
@@ -1264,8 +1264,8 @@ connect (MMBearer *self,
|
||||
typedef struct {
|
||||
MMBroadbandBearer *self;
|
||||
MMBaseModem *modem;
|
||||
MMAtSerialPort *primary;
|
||||
MMAtSerialPort *secondary;
|
||||
MMPortSerialAt *primary;
|
||||
MMPortSerialAt *secondary;
|
||||
MMPort *data;
|
||||
GSimpleAsyncResult *result;
|
||||
|
||||
@@ -1301,8 +1301,8 @@ detailed_disconnect_context_complete_and_free (DetailedDisconnectContext *ctx)
|
||||
static DetailedDisconnectContext *
|
||||
detailed_disconnect_context_new (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -1384,8 +1384,8 @@ data_reopen_cdma_ready (MMPortSerial *data,
|
||||
static void
|
||||
disconnect_cdma (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
@@ -1478,7 +1478,7 @@ data_flash_3gpp_ready (MMPortSerial *data,
|
||||
/* Last resort, try to send CGACT in the data port itself */
|
||||
mm_dbg ("Sending PDP context deactivation in data port...");
|
||||
mm_base_modem_at_command_full (ctx->modem,
|
||||
MM_AT_SERIAL_PORT (data),
|
||||
MM_PORT_SERIAL_AT (data),
|
||||
ctx->cgact_command,
|
||||
10,
|
||||
FALSE,
|
||||
@@ -1541,8 +1541,8 @@ cgact_ready (MMBaseModem *modem,
|
||||
static void
|
||||
disconnect_3gpp (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -1708,7 +1708,7 @@ disconnect (MMBearer *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
MMBaseModem *modem = NULL;
|
||||
DisconnectContext *ctx;
|
||||
|
||||
@@ -1815,7 +1815,7 @@ struct _InitAsyncContext {
|
||||
GCancellable *cancellable;
|
||||
MMBaseModem *modem;
|
||||
InitializationStep step;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
};
|
||||
|
||||
static void
|
||||
|
||||
+11
-11
@@ -50,8 +50,8 @@ struct _MMBroadbandBearerClass {
|
||||
/* Full 3GPP connection sequence */
|
||||
void (* connect_3gpp) (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
@@ -62,7 +62,7 @@ struct _MMBroadbandBearerClass {
|
||||
/* Dialing sub-part of 3GPP connection */
|
||||
void (* dial_3gpp) (MMBroadbandBearer *self,
|
||||
MMBaseModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMPortSerialAt *primary,
|
||||
guint cid,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -75,8 +75,8 @@ struct _MMBroadbandBearerClass {
|
||||
* Only really required when using net port + static IP address. */
|
||||
void (* get_ip_config_3gpp) (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -90,8 +90,8 @@ struct _MMBroadbandBearerClass {
|
||||
/* Full 3GPP disconnection sequence */
|
||||
void (* disconnect_3gpp) (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
guint cid,
|
||||
GAsyncReadyCallback callback,
|
||||
@@ -103,8 +103,8 @@ struct _MMBroadbandBearerClass {
|
||||
/* Full CDMA connection sequence */
|
||||
void (* connect_cdma) (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
@@ -115,8 +115,8 @@ struct _MMBroadbandBearerClass {
|
||||
/* Full CDMA disconnection sequence */
|
||||
void (* disconnect_cdma) (MMBroadbandBearer *self,
|
||||
MMBroadbandModem *modem,
|
||||
MMAtSerialPort *primary,
|
||||
MMAtSerialPort *secondary,
|
||||
MMPortSerialAt *primary,
|
||||
MMPortSerialAt *secondary,
|
||||
MMPort *data,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
|
||||
+44
-44
@@ -1784,7 +1784,7 @@ signal_quality_csq (SignalQualityContext *ctx)
|
||||
{
|
||||
mm_base_modem_at_sequence_full (
|
||||
MM_BASE_MODEM (ctx->self),
|
||||
MM_AT_SERIAL_PORT (ctx->port),
|
||||
MM_PORT_SERIAL_AT (ctx->port),
|
||||
signal_quality_csq_sequence,
|
||||
NULL, /* response_processor_context */
|
||||
NULL, /* response_processor_context_free */
|
||||
@@ -1877,7 +1877,7 @@ static void
|
||||
signal_quality_cind (SignalQualityContext *ctx)
|
||||
{
|
||||
mm_base_modem_at_command_full (MM_BASE_MODEM (ctx->self),
|
||||
MM_AT_SERIAL_PORT (ctx->port),
|
||||
MM_PORT_SERIAL_AT (ctx->port),
|
||||
"+CIND?",
|
||||
3,
|
||||
FALSE,
|
||||
@@ -2406,7 +2406,7 @@ modem_3gpp_setup_cleanup_unsolicited_events_finish (MMIfaceModem3gpp *self,
|
||||
}
|
||||
|
||||
static void
|
||||
ciev_received (MMAtSerialPort *port,
|
||||
ciev_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -2447,7 +2447,7 @@ static void
|
||||
set_unsolicited_events_handlers (MMBroadbandModem *self,
|
||||
gboolean enable)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GRegex *ciev_regex;
|
||||
guint i;
|
||||
|
||||
@@ -2464,10 +2464,10 @@ set_unsolicited_events_handlers (MMBroadbandModem *self,
|
||||
mm_dbg ("(%s) %s 3GPP unsolicited events handlers",
|
||||
mm_port_get_device (MM_PORT (ports[i])),
|
||||
enable ? "Setting" : "Removing");
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
ciev_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn) ciev_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn) ciev_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -2659,7 +2659,7 @@ unsolicited_events_setup_ready (MMBroadbandModem *self,
|
||||
static void
|
||||
run_unsolicited_events_setup (UnsolicitedEventsContext *ctx)
|
||||
{
|
||||
MMAtSerialPort *port = NULL;
|
||||
MMPortSerialAt *port = NULL;
|
||||
|
||||
if (!ctx->cmer_primary_done) {
|
||||
ctx->cmer_primary_done = TRUE;
|
||||
@@ -3495,7 +3495,7 @@ modem_3gpp_setup_unsolicited_registration_events_finish (MMIfaceModem3gpp *self,
|
||||
}
|
||||
|
||||
static void
|
||||
registration_state_changed (MMAtSerialPort *port,
|
||||
registration_state_changed (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -3546,7 +3546,7 @@ modem_3gpp_setup_unsolicited_registration_events (MMIfaceModem3gpp *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GPtrArray *array;
|
||||
guint i;
|
||||
guint j;
|
||||
@@ -3568,10 +3568,10 @@ modem_3gpp_setup_unsolicited_registration_events (MMIfaceModem3gpp *self,
|
||||
mm_dbg ("(%s) setting up 3GPP unsolicited registration messages handlers",
|
||||
mm_port_get_device (MM_PORT (ports[i])));
|
||||
for (j = 0; j < array->len; j++) {
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
MM_PORT_SERIAL_AT (ports[i]),
|
||||
(GRegex *) g_ptr_array_index (array, j),
|
||||
(MMAtSerialUnsolicitedMsgFn)registration_state_changed,
|
||||
(MMPortSerialAtUnsolicitedMsgFn)registration_state_changed,
|
||||
self,
|
||||
NULL);
|
||||
}
|
||||
@@ -3600,7 +3600,7 @@ modem_3gpp_cleanup_unsolicited_registration_events (MMIfaceModem3gpp *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GPtrArray *array;
|
||||
guint i;
|
||||
guint j;
|
||||
@@ -3623,8 +3623,8 @@ modem_3gpp_cleanup_unsolicited_registration_events (MMIfaceModem3gpp *self,
|
||||
mm_port_get_device (MM_PORT (ports[i])));
|
||||
|
||||
for (j = 0; j < array->len; j++) {
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
MM_PORT_SERIAL_AT (ports[i]),
|
||||
(GRegex *) g_ptr_array_index (array, j),
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -4124,7 +4124,7 @@ unsolicited_registration_events_sequence_ready (MMBroadbandModem *self,
|
||||
{
|
||||
GError *error = NULL;
|
||||
GVariant *command;
|
||||
MMAtSerialPort *secondary;
|
||||
MMPortSerialAt *secondary;
|
||||
|
||||
/* Only one must be running */
|
||||
g_assert ((ctx->running_cs ? 1 : 0) +
|
||||
@@ -4841,7 +4841,7 @@ cusd_process_string (MMBroadbandModem *self,
|
||||
}
|
||||
|
||||
static void
|
||||
cusd_received (MMAtSerialPort *port,
|
||||
cusd_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -4860,7 +4860,7 @@ set_unsolicited_result_code_handlers (MMIfaceModem3gppUssd *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GRegex *cusd_regex;
|
||||
guint i;
|
||||
|
||||
@@ -4881,10 +4881,10 @@ set_unsolicited_result_code_handlers (MMIfaceModem3gppUssd *self,
|
||||
mm_dbg ("(%s) %s unsolicited result code handlers",
|
||||
mm_port_get_device (MM_PORT (ports[i])),
|
||||
enable ? "Setting" : "Removing");
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
cusd_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn) cusd_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn) cusd_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -5657,7 +5657,7 @@ indication_lock_storages_ready (MMBroadbandModem *self,
|
||||
}
|
||||
|
||||
static void
|
||||
cmti_received (MMAtSerialPort *port,
|
||||
cmti_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -5701,7 +5701,7 @@ cmti_received (MMAtSerialPort *port,
|
||||
}
|
||||
|
||||
static void
|
||||
cds_received (MMAtSerialPort *port,
|
||||
cds_received (MMPortSerialAt *port,
|
||||
GMatchInfo *info,
|
||||
MMBroadbandModem *self)
|
||||
{
|
||||
@@ -5740,7 +5740,7 @@ set_messaging_unsolicited_events_handlers (MMIfaceModemMessaging *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GRegex *cmti_regex;
|
||||
GRegex *cds_regex;
|
||||
guint i;
|
||||
@@ -5764,16 +5764,16 @@ set_messaging_unsolicited_events_handlers (MMIfaceModemMessaging *self,
|
||||
mm_dbg ("(%s) %s messaging unsolicited events handlers",
|
||||
mm_port_get_device (MM_PORT (ports[i])),
|
||||
enable ? "Setting" : "Removing");
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
cmti_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn) cmti_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn) cmti_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (
|
||||
ports[i],
|
||||
cds_regex,
|
||||
enable ? (MMAtSerialUnsolicitedMsgFn) cds_received : NULL,
|
||||
enable ? (MMPortSerialAtUnsolicitedMsgFn) cds_received : NULL,
|
||||
enable ? self : NULL,
|
||||
NULL);
|
||||
}
|
||||
@@ -6860,7 +6860,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
MMBroadbandModem *self;
|
||||
GSimpleAsyncResult *result;
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
MMModemCdmaRegistrationState cdma1x_state;
|
||||
MMModemCdmaRegistrationState evdo_state;
|
||||
GError *error;
|
||||
@@ -7005,7 +7005,7 @@ modem_cdma_get_detailed_registration_state (MMIfaceModemCdma *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMAtSerialPort *port;
|
||||
MMPortSerialAt *port;
|
||||
GError *error = NULL;
|
||||
DetailedRegistrationStateContext *ctx;
|
||||
|
||||
@@ -7493,7 +7493,7 @@ static const gchar *secondary_init_sequence[] = {
|
||||
static void
|
||||
setup_ports (MMBroadbandModem *self)
|
||||
{
|
||||
MMAtSerialPort *ports[2];
|
||||
MMPortSerialAt *ports[2];
|
||||
GRegex *regex;
|
||||
GPtrArray *array;
|
||||
gint i, j;
|
||||
@@ -7503,12 +7503,12 @@ setup_ports (MMBroadbandModem *self)
|
||||
|
||||
if (ports[0])
|
||||
g_object_set (ports[0],
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE, primary_init_sequence,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE, primary_init_sequence,
|
||||
NULL);
|
||||
|
||||
if (ports[1])
|
||||
g_object_set (ports[1],
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE, secondary_init_sequence,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE, secondary_init_sequence,
|
||||
NULL);
|
||||
|
||||
/* Cleanup all unsolicited message handlers in all AT ports */
|
||||
@@ -7520,7 +7520,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
continue;
|
||||
|
||||
for (j = 0; j < array->len; j++) {
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]),
|
||||
(GRegex *)g_ptr_array_index (array, j),
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -7535,7 +7535,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
if (!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]),
|
||||
regex,
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -7549,7 +7549,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
if (!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]),
|
||||
regex,
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -7563,7 +7563,7 @@ setup_ports (MMBroadbandModem *self)
|
||||
if (!ports[i])
|
||||
continue;
|
||||
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MM_AT_SERIAL_PORT (ports[i]),
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MM_PORT_SERIAL_AT (ports[i]),
|
||||
regex,
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -7578,9 +7578,9 @@ setup_ports (MMBroadbandModem *self)
|
||||
struct _PortsContext {
|
||||
volatile gint ref_count;
|
||||
|
||||
MMAtSerialPort *primary;
|
||||
MMPortSerialAt *primary;
|
||||
gboolean primary_open;
|
||||
MMAtSerialPort *secondary;
|
||||
MMPortSerialAt *secondary;
|
||||
gboolean secondary_open;
|
||||
MMPortSerialQcdm *qcdm;
|
||||
gboolean qcdm_open;
|
||||
@@ -7807,14 +7807,14 @@ enabling_after_modem_init_timeout (EnablingStartedContext *ctx)
|
||||
{
|
||||
/* Reset init sequence enabled flags and run them explicitly */
|
||||
g_object_set (ctx->ports->primary,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, TRUE,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, TRUE,
|
||||
NULL);
|
||||
mm_at_serial_port_run_init_sequence (ctx->ports->primary);
|
||||
mm_port_serial_at_run_init_sequence (ctx->ports->primary);
|
||||
if (ctx->ports->secondary) {
|
||||
g_object_set (ctx->ports->secondary,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, TRUE,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, TRUE,
|
||||
NULL);
|
||||
mm_at_serial_port_run_init_sequence (ctx->ports->secondary);
|
||||
mm_port_serial_at_run_init_sequence (ctx->ports->secondary);
|
||||
}
|
||||
|
||||
/* Store enabled ports context and complete */
|
||||
@@ -7891,7 +7891,7 @@ open_ports_enabling (MMBroadbandModem *self,
|
||||
/* If we'll need to run modem initialization, disable port init sequence */
|
||||
if (modem_init_required)
|
||||
g_object_set (ctx->primary,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, FALSE,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, FALSE,
|
||||
NULL);
|
||||
|
||||
|
||||
@@ -7908,7 +7908,7 @@ open_ports_enabling (MMBroadbandModem *self,
|
||||
/* If we'll need to run modem initialization, disable port init sequence */
|
||||
if (modem_init_required)
|
||||
g_object_set (ctx->secondary,
|
||||
MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED, FALSE,
|
||||
MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED, FALSE,
|
||||
NULL);
|
||||
if (!mm_port_serial_open (MM_PORT_SERIAL (ctx->secondary), error)) {
|
||||
g_prefix_error (error, "Couldn't open secondary port: ");
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
#define _LIBMM_INSIDE_MM
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
|
||||
#define MM_TYPE_IFACE_MODEM_3GPP_USSD (mm_iface_modem_3gpp_ussd_get_type ())
|
||||
#define MM_IFACE_MODEM_3GPP_USSD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_IFACE_MODEM_3GPP_USSD, MMIfaceModem3gppUssd))
|
||||
#define MM_IS_IFACE_MODEM_3GPP_USSD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_IFACE_MODEM_3GPP_USSD))
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#define _LIBMM_INSIDE_MM
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
|
||||
#define MM_TYPE_IFACE_MODEM_3GPP (mm_iface_modem_3gpp_get_type ())
|
||||
#define MM_IFACE_MODEM_3GPP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_IFACE_MODEM_3GPP, MMIfaceModem3gpp))
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#define _LIBMM_INSIDE_MM
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
|
||||
#define MM_TYPE_IFACE_MODEM_CDMA (mm_iface_modem_cdma_get_type ())
|
||||
#define MM_IFACE_MODEM_CDMA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_IFACE_MODEM_CDMA, MMIfaceModemCdma))
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
#include <glib-object.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
|
||||
#define MM_TYPE_IFACE_MODEM_LOCATION (mm_iface_modem_location_get_type ())
|
||||
#define MM_IFACE_MODEM_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_IFACE_MODEM_LOCATION, MMIfaceModemLocation))
|
||||
#define MM_IS_IFACE_MODEM_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_IFACE_MODEM_LOCATION))
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <glib-object.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-sms-part.h"
|
||||
#include "mm-sms.h"
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-charsets.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-bearer.h"
|
||||
#include "mm-sim.h"
|
||||
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "mm-plugin.h"
|
||||
#include "mm-device.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-port-serial-qcdm.h"
|
||||
#include "mm-serial-parsers.h"
|
||||
#include "mm-private-boxed-types.h"
|
||||
@@ -895,7 +895,7 @@ mm_plugin_create_modem (MMPlugin *self,
|
||||
mm_port_probe_get_port_subsys (probe),
|
||||
mm_port_probe_get_port_name (probe),
|
||||
mm_port_probe_get_port_type (probe),
|
||||
MM_AT_PORT_FLAG_NONE,
|
||||
MM_PORT_SERIAL_AT_FLAG_NONE,
|
||||
&inner_error);
|
||||
if (!grabbed) {
|
||||
mm_warn ("Could not grab port (%s/%s): '%s'",
|
||||
|
||||
+11
-11
@@ -26,7 +26,7 @@
|
||||
|
||||
#include "mm-port-probe.h"
|
||||
#include "mm-log.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-port-serial.h"
|
||||
#include "mm-serial-parsers.h"
|
||||
#include "mm-port-probe-at.h"
|
||||
@@ -329,7 +329,7 @@ port_probe_run_task_free (PortProbeRunTask *task)
|
||||
|
||||
if (task->serial) {
|
||||
if (task->buffer_full_id) {
|
||||
g_warn_if_fail (MM_IS_AT_SERIAL_PORT (task->serial));
|
||||
g_warn_if_fail (MM_IS_PORT_SERIAL_AT (task->serial));
|
||||
g_signal_handler_disconnect (task->serial, task->buffer_full_id);
|
||||
}
|
||||
if (mm_port_serial_is_open (task->serial))
|
||||
@@ -852,7 +852,7 @@ serial_probe_at_result_processor (MMPortProbe *self,
|
||||
}
|
||||
|
||||
static void
|
||||
serial_probe_at_parse_response (MMAtSerialPort *port,
|
||||
serial_probe_at_parse_response (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
MMPortProbe *self)
|
||||
@@ -943,13 +943,13 @@ serial_probe_at (MMPortProbe *self)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
mm_at_serial_port_queue_command (
|
||||
MM_AT_SERIAL_PORT (task->serial),
|
||||
mm_port_serial_at_queue_command (
|
||||
MM_PORT_SERIAL_AT (task->serial),
|
||||
task->at_commands->command,
|
||||
task->at_commands->timeout,
|
||||
FALSE,
|
||||
task->at_probing_cancellable,
|
||||
(MMAtSerialResponseFn)serial_probe_at_parse_response,
|
||||
(MMPortSerialAtResponseFn)serial_probe_at_parse_response,
|
||||
self);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1015,7 +1015,7 @@ serial_probe_schedule (MMPortProbe *self)
|
||||
task->at_custom_init &&
|
||||
task->at_custom_init_finish) {
|
||||
task->at_custom_init (self,
|
||||
MM_AT_SERIAL_PORT (task->serial),
|
||||
MM_PORT_SERIAL_AT (task->serial),
|
||||
task->at_probing_cancellable,
|
||||
(GAsyncReadyCallback)at_custom_init_ready,
|
||||
NULL);
|
||||
@@ -1136,7 +1136,7 @@ serial_open_at (MMPortProbe *self)
|
||||
if (!task->serial) {
|
||||
gpointer parser;
|
||||
|
||||
task->serial = MM_PORT_SERIAL (mm_at_serial_port_new (g_udev_device_get_name (self->priv->port)));
|
||||
task->serial = MM_PORT_SERIAL (mm_port_serial_at_new (g_udev_device_get_name (self->priv->port)));
|
||||
if (!task->serial) {
|
||||
port_probe_run_task_complete (
|
||||
task,
|
||||
@@ -1152,15 +1152,15 @@ serial_open_at (MMPortProbe *self)
|
||||
g_object_set (task->serial,
|
||||
MM_PORT_SERIAL_SPEW_CONTROL, TRUE,
|
||||
MM_PORT_SERIAL_SEND_DELAY, task->at_send_delay,
|
||||
MM_AT_SERIAL_PORT_REMOVE_ECHO, task->at_remove_echo,
|
||||
MM_AT_SERIAL_PORT_SEND_LF, task->at_send_lf,
|
||||
MM_PORT_SERIAL_AT_REMOVE_ECHO, task->at_remove_echo,
|
||||
MM_PORT_SERIAL_AT_SEND_LF, task->at_send_lf,
|
||||
NULL);
|
||||
|
||||
parser = mm_serial_parser_v1_new ();
|
||||
mm_serial_parser_v1_add_filter (parser,
|
||||
serial_parser_filter_cb,
|
||||
NULL);
|
||||
mm_at_serial_port_set_response_parser (MM_AT_SERIAL_PORT (task->serial),
|
||||
mm_port_serial_at_set_response_parser (MM_PORT_SERIAL_AT (task->serial),
|
||||
mm_serial_parser_v1_parse,
|
||||
parser,
|
||||
mm_serial_parser_v1_destroy);
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@
|
||||
|
||||
#include "mm-private-boxed-types.h"
|
||||
#include "mm-port-probe-at.h"
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-device.h"
|
||||
|
||||
#define MM_TYPE_PORT_PROBE (mm_port_probe_get_type ())
|
||||
@@ -68,7 +68,7 @@ struct _MMPortProbeClass {
|
||||
* It also helps to implement plugin-specific checks, as plugins can set
|
||||
* their own probing results on the 'probe' object. */
|
||||
typedef void (* MMPortProbeAtCustomInit) (MMPortProbe *probe,
|
||||
MMAtSerialPort *port,
|
||||
MMPortSerialAt *port,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-log.h"
|
||||
|
||||
G_DEFINE_TYPE (MMAtSerialPort, mm_at_serial_port, MM_TYPE_PORT_SERIAL)
|
||||
G_DEFINE_TYPE (MMPortSerialAt, mm_port_serial_at, MM_TYPE_PORT_SERIAL)
|
||||
|
||||
#define MM_AT_SERIAL_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_AT_SERIAL_PORT, MMAtSerialPortPrivate))
|
||||
#define MM_PORT_SERIAL_AT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_PORT_SERIAL_AT, MMPortSerialAtPrivate))
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
@@ -39,25 +39,25 @@ enum {
|
||||
|
||||
typedef struct {
|
||||
/* Response parser data */
|
||||
MMAtSerialResponseParserFn response_parser_fn;
|
||||
MMPortSerialAtResponseParserFn response_parser_fn;
|
||||
gpointer response_parser_user_data;
|
||||
GDestroyNotify response_parser_notify;
|
||||
|
||||
GSList *unsolicited_msg_handlers;
|
||||
|
||||
MMAtPortFlag flags;
|
||||
MMPortSerialAtFlag flags;
|
||||
|
||||
/* Properties */
|
||||
gboolean remove_echo;
|
||||
guint init_sequence_enabled;
|
||||
gchar **init_sequence;
|
||||
gboolean send_lf;
|
||||
} MMAtSerialPortPrivate;
|
||||
} MMPortSerialAtPrivate;
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
gchar *
|
||||
mm_at_serial_port_quote_string (const char *string)
|
||||
mm_port_serial_at_quote_string (const char *string)
|
||||
{
|
||||
int len, i;
|
||||
gchar *quoted, *pos;
|
||||
@@ -83,14 +83,14 @@ mm_at_serial_port_quote_string (const char *string)
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_set_response_parser (MMAtSerialPort *self,
|
||||
MMAtSerialResponseParserFn fn,
|
||||
mm_port_serial_at_set_response_parser (MMPortSerialAt *self,
|
||||
MMPortSerialAtResponseParserFn fn,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
|
||||
if (priv->response_parser_notify)
|
||||
priv->response_parser_notify (priv->response_parser_user_data);
|
||||
@@ -101,7 +101,7 @@ mm_at_serial_port_set_response_parser (MMAtSerialPort *self,
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_remove_echo (GByteArray *response)
|
||||
mm_port_serial_at_remove_echo (GByteArray *response)
|
||||
{
|
||||
guint i;
|
||||
|
||||
@@ -123,8 +123,8 @@ mm_at_serial_port_remove_echo (GByteArray *response)
|
||||
static gboolean
|
||||
parse_response (MMPortSerial *port, GByteArray *response, GError **error)
|
||||
{
|
||||
MMAtSerialPort *self = MM_AT_SERIAL_PORT (port);
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAt *self = MM_PORT_SERIAL_AT (port);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
gboolean found;
|
||||
GString *string;
|
||||
|
||||
@@ -132,7 +132,7 @@ parse_response (MMPortSerial *port, GByteArray *response, GError **error)
|
||||
|
||||
/* Remove echo */
|
||||
if (priv->remove_echo)
|
||||
mm_at_serial_port_remove_echo (response);
|
||||
mm_port_serial_at_remove_echo (response);
|
||||
|
||||
/* Construct the string that AT-parsing functions expect */
|
||||
string = g_string_sized_new (response->len + 1);
|
||||
@@ -158,8 +158,8 @@ handle_response (MMPortSerial *port,
|
||||
GCallback callback,
|
||||
gpointer callback_data)
|
||||
{
|
||||
MMAtSerialPort *self = MM_AT_SERIAL_PORT (port);
|
||||
MMAtSerialResponseFn response_callback = (MMAtSerialResponseFn) callback;
|
||||
MMPortSerialAt *self = MM_PORT_SERIAL_AT (port);
|
||||
MMPortSerialAtResponseFn response_callback = (MMPortSerialAtResponseFn) callback;
|
||||
GString *string;
|
||||
|
||||
/* Convert to a string and call the callback */
|
||||
@@ -175,7 +175,7 @@ handle_response (MMPortSerial *port,
|
||||
|
||||
typedef struct {
|
||||
GRegex *regex;
|
||||
MMAtSerialUnsolicitedMsgFn callback;
|
||||
MMPortSerialAtUnsolicitedMsgFn callback;
|
||||
gboolean enable;
|
||||
gpointer user_data;
|
||||
GDestroyNotify notify;
|
||||
@@ -190,20 +190,20 @@ unsolicited_msg_handler_cmp (MMAtUnsolicitedMsgHandler *handler,
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_add_unsolicited_msg_handler (MMAtSerialPort *self,
|
||||
mm_port_serial_at_add_unsolicited_msg_handler (MMPortSerialAt *self,
|
||||
GRegex *regex,
|
||||
MMAtSerialUnsolicitedMsgFn callback,
|
||||
MMPortSerialAtUnsolicitedMsgFn callback,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify)
|
||||
{
|
||||
GSList *existing;
|
||||
MMAtUnsolicitedMsgHandler *handler;
|
||||
MMAtSerialPortPrivate *priv;
|
||||
MMPortSerialAtPrivate *priv;
|
||||
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
g_return_if_fail (regex != NULL);
|
||||
|
||||
priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
existing = g_slist_find_custom (priv->unsolicited_msg_handlers,
|
||||
regex,
|
||||
@@ -226,18 +226,18 @@ mm_at_serial_port_add_unsolicited_msg_handler (MMAtSerialPort *self,
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_enable_unsolicited_msg_handler (MMAtSerialPort *self,
|
||||
mm_port_serial_at_enable_unsolicited_msg_handler (MMPortSerialAt *self,
|
||||
GRegex *regex,
|
||||
gboolean enable)
|
||||
{
|
||||
GSList *existing;
|
||||
MMAtUnsolicitedMsgHandler *handler;
|
||||
MMAtSerialPortPrivate *priv;
|
||||
MMPortSerialAtPrivate *priv;
|
||||
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
g_return_if_fail (regex != NULL);
|
||||
|
||||
priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
existing = g_slist_find_custom (priv->unsolicited_msg_handlers,
|
||||
regex,
|
||||
@@ -266,13 +266,13 @@ remove_eval_cb (const GMatchInfo *match_info,
|
||||
static void
|
||||
parse_unsolicited (MMPortSerial *port, GByteArray *response)
|
||||
{
|
||||
MMAtSerialPort *self = MM_AT_SERIAL_PORT (port);
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAt *self = MM_PORT_SERIAL_AT (port);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
GSList *iter;
|
||||
|
||||
/* Remove echo */
|
||||
if (priv->remove_echo)
|
||||
mm_at_serial_port_remove_echo (response);
|
||||
mm_port_serial_at_remove_echo (response);
|
||||
|
||||
for (iter = priv->unsolicited_msg_handlers; iter; iter = iter->next) {
|
||||
MMAtUnsolicitedMsgHandler *handler = (MMAtUnsolicitedMsgHandler *) iter->data;
|
||||
@@ -351,19 +351,19 @@ at_command_to_byte_array (const char *command, gboolean is_raw, gboolean send_lf
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_queue_command (MMAtSerialPort *self,
|
||||
mm_port_serial_at_queue_command (MMPortSerialAt *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMAtSerialResponseFn callback,
|
||||
MMPortSerialAtResponseFn callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
GByteArray *buf;
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
g_return_if_fail (command != NULL);
|
||||
|
||||
buf = at_command_to_byte_array (command, is_raw, priv->send_lf);
|
||||
@@ -379,19 +379,19 @@ mm_at_serial_port_queue_command (MMAtSerialPort *self,
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_queue_command_cached (MMAtSerialPort *self,
|
||||
mm_port_serial_at_queue_command_cached (MMPortSerialAt *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMAtSerialResponseFn callback,
|
||||
MMPortSerialAtResponseFn callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
GByteArray *buf;
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
g_return_if_fail (command != NULL);
|
||||
|
||||
buf = at_command_to_byte_array (command, is_raw, priv->send_lf);
|
||||
@@ -438,33 +438,33 @@ debug_log (MMPortSerial *port, const char *prefix, const char *buf, gsize len)
|
||||
}
|
||||
|
||||
void
|
||||
mm_at_serial_port_set_flags (MMAtSerialPort *self, MMAtPortFlag flags)
|
||||
mm_port_serial_at_set_flags (MMPortSerialAt *self, MMPortSerialAtFlag flags)
|
||||
{
|
||||
g_return_if_fail (self != NULL);
|
||||
g_return_if_fail (MM_IS_AT_SERIAL_PORT (self));
|
||||
g_return_if_fail (flags <= (MM_AT_PORT_FLAG_PRIMARY |
|
||||
MM_AT_PORT_FLAG_SECONDARY |
|
||||
MM_AT_PORT_FLAG_PPP |
|
||||
MM_AT_PORT_FLAG_GPS_CONTROL));
|
||||
g_return_if_fail (MM_IS_PORT_SERIAL_AT (self));
|
||||
g_return_if_fail (flags <= (MM_PORT_SERIAL_AT_FLAG_PRIMARY |
|
||||
MM_PORT_SERIAL_AT_FLAG_SECONDARY |
|
||||
MM_PORT_SERIAL_AT_FLAG_PPP |
|
||||
MM_PORT_SERIAL_AT_FLAG_GPS_CONTROL));
|
||||
|
||||
MM_AT_SERIAL_PORT_GET_PRIVATE (self)->flags = flags;
|
||||
MM_PORT_SERIAL_AT_GET_PRIVATE (self)->flags = flags;
|
||||
}
|
||||
|
||||
MMAtPortFlag
|
||||
mm_at_serial_port_get_flags (MMAtSerialPort *self)
|
||||
MMPortSerialAtFlag
|
||||
mm_port_serial_at_get_flags (MMPortSerialAt *self)
|
||||
{
|
||||
g_return_val_if_fail (self != NULL, MM_AT_PORT_FLAG_NONE);
|
||||
g_return_val_if_fail (MM_IS_AT_SERIAL_PORT (self), MM_AT_PORT_FLAG_NONE);
|
||||
g_return_val_if_fail (self != NULL, MM_PORT_SERIAL_AT_FLAG_NONE);
|
||||
g_return_val_if_fail (MM_IS_PORT_SERIAL_AT (self), MM_PORT_SERIAL_AT_FLAG_NONE);
|
||||
|
||||
return MM_AT_SERIAL_PORT_GET_PRIVATE (self)->flags;
|
||||
return MM_PORT_SERIAL_AT_GET_PRIVATE (self)->flags;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
mm_at_serial_port_run_init_sequence (MMAtSerialPort *self)
|
||||
mm_port_serial_at_run_init_sequence (MMPortSerialAt *self)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
guint i;
|
||||
|
||||
if (!priv->init_sequence)
|
||||
@@ -474,7 +474,7 @@ mm_at_serial_port_run_init_sequence (MMAtSerialPort *self)
|
||||
|
||||
/* Just queue the init commands, don't wait for reply */
|
||||
for (i = 0; priv->init_sequence[i]; i++) {
|
||||
mm_at_serial_port_queue_command (self,
|
||||
mm_port_serial_at_queue_command (self,
|
||||
priv->init_sequence[i],
|
||||
3,
|
||||
FALSE,
|
||||
@@ -487,18 +487,18 @@ mm_at_serial_port_run_init_sequence (MMAtSerialPort *self)
|
||||
static void
|
||||
config (MMPortSerial *self)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
if (priv->init_sequence_enabled)
|
||||
mm_at_serial_port_run_init_sequence (MM_AT_SERIAL_PORT (self));
|
||||
mm_port_serial_at_run_init_sequence (MM_PORT_SERIAL_AT (self));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
MMAtSerialPort *
|
||||
mm_at_serial_port_new (const char *name)
|
||||
MMPortSerialAt *
|
||||
mm_port_serial_at_new (const char *name)
|
||||
{
|
||||
return MM_AT_SERIAL_PORT (g_object_new (MM_TYPE_AT_SERIAL_PORT,
|
||||
return MM_PORT_SERIAL_AT (g_object_new (MM_TYPE_PORT_SERIAL_AT,
|
||||
MM_PORT_DEVICE, name,
|
||||
MM_PORT_SUBSYS, MM_PORT_SUBSYS_TTY,
|
||||
MM_PORT_TYPE, MM_PORT_TYPE_AT,
|
||||
@@ -506,9 +506,9 @@ mm_at_serial_port_new (const char *name)
|
||||
}
|
||||
|
||||
static void
|
||||
mm_at_serial_port_init (MMAtSerialPort *self)
|
||||
mm_port_serial_at_init (MMPortSerialAt *self)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
/* By default, remove echo */
|
||||
priv->remove_echo = TRUE;
|
||||
@@ -523,7 +523,7 @@ static void
|
||||
set_property (GObject *object, guint prop_id,
|
||||
const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (object);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_REMOVE_ECHO:
|
||||
@@ -549,7 +549,7 @@ static void
|
||||
get_property (GObject *object, guint prop_id,
|
||||
GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (object);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_REMOVE_ECHO:
|
||||
@@ -573,8 +573,8 @@ get_property (GObject *object, guint prop_id,
|
||||
static void
|
||||
finalize (GObject *object)
|
||||
{
|
||||
MMAtSerialPort *self = MM_AT_SERIAL_PORT (object);
|
||||
MMAtSerialPortPrivate *priv = MM_AT_SERIAL_PORT_GET_PRIVATE (self);
|
||||
MMPortSerialAt *self = MM_PORT_SERIAL_AT (object);
|
||||
MMPortSerialAtPrivate *priv = MM_PORT_SERIAL_AT_GET_PRIVATE (self);
|
||||
|
||||
while (priv->unsolicited_msg_handlers) {
|
||||
MMAtUnsolicitedMsgHandler *handler = (MMAtUnsolicitedMsgHandler *) priv->unsolicited_msg_handlers->data;
|
||||
@@ -593,16 +593,16 @@ finalize (GObject *object)
|
||||
|
||||
g_strfreev (priv->init_sequence);
|
||||
|
||||
G_OBJECT_CLASS (mm_at_serial_port_parent_class)->finalize (object);
|
||||
G_OBJECT_CLASS (mm_port_serial_at_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mm_at_serial_port_class_init (MMAtSerialPortClass *klass)
|
||||
mm_port_serial_at_class_init (MMPortSerialAtClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
MMPortSerialClass *serial_class = MM_PORT_SERIAL_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (object_class, sizeof (MMAtSerialPortPrivate));
|
||||
g_type_class_add_private (object_class, sizeof (MMPortSerialAtPrivate));
|
||||
|
||||
/* Virtual methods */
|
||||
object_class->set_property = set_property;
|
||||
@@ -617,7 +617,7 @@ mm_at_serial_port_class_init (MMAtSerialPortClass *klass)
|
||||
|
||||
g_object_class_install_property
|
||||
(object_class, PROP_REMOVE_ECHO,
|
||||
g_param_spec_boolean (MM_AT_SERIAL_PORT_REMOVE_ECHO,
|
||||
g_param_spec_boolean (MM_PORT_SERIAL_AT_REMOVE_ECHO,
|
||||
"Remove echo",
|
||||
"Built-in echo removal should be applied",
|
||||
TRUE,
|
||||
@@ -625,7 +625,7 @@ mm_at_serial_port_class_init (MMAtSerialPortClass *klass)
|
||||
|
||||
g_object_class_install_property
|
||||
(object_class, PROP_INIT_SEQUENCE_ENABLED,
|
||||
g_param_spec_boolean (MM_AT_SERIAL_PORT_INIT_SEQUENCE_ENABLED,
|
||||
g_param_spec_boolean (MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED,
|
||||
"Init sequence enabled",
|
||||
"Whether the initialization sequence should be run",
|
||||
TRUE,
|
||||
@@ -633,7 +633,7 @@ mm_at_serial_port_class_init (MMAtSerialPortClass *klass)
|
||||
|
||||
g_object_class_install_property
|
||||
(object_class, PROP_INIT_SEQUENCE,
|
||||
g_param_spec_boxed (MM_AT_SERIAL_PORT_INIT_SEQUENCE,
|
||||
g_param_spec_boxed (MM_PORT_SERIAL_AT_INIT_SEQUENCE,
|
||||
"Init sequence",
|
||||
"Initialization sequence",
|
||||
G_TYPE_STRV,
|
||||
@@ -641,7 +641,7 @@ mm_at_serial_port_class_init (MMAtSerialPortClass *klass)
|
||||
|
||||
g_object_class_install_property
|
||||
(object_class, PROP_SEND_LF,
|
||||
g_param_spec_boolean (MM_AT_SERIAL_PORT_SEND_LF,
|
||||
g_param_spec_boolean (MM_PORT_SERIAL_AT_SEND_LF,
|
||||
"Send LF",
|
||||
"Send line-feed at the end of each AT command sent",
|
||||
FALSE,
|
||||
@@ -0,0 +1,133 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details:
|
||||
*
|
||||
* Copyright (C) 2008 - 2009 Novell, Inc.
|
||||
* Copyright (C) 2009 - 2010 Red Hat, Inc.
|
||||
*/
|
||||
|
||||
#ifndef MM_PORT_SERIAL_AT_H
|
||||
#define MM_PORT_SERIAL_AT_H
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "mm-port-serial.h"
|
||||
|
||||
#define MM_TYPE_PORT_SERIAL_AT (mm_port_serial_at_get_type ())
|
||||
#define MM_PORT_SERIAL_AT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_PORT_SERIAL_AT, MMPortSerialAt))
|
||||
#define MM_PORT_SERIAL_AT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_PORT_SERIAL_AT, MMPortSerialAtClass))
|
||||
#define MM_IS_PORT_SERIAL_AT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_PORT_SERIAL_AT))
|
||||
#define MM_IS_PORT_SERIAL_AT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_PORT_SERIAL_AT))
|
||||
#define MM_PORT_SERIAL_AT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_PORT_SERIAL_AT, MMPortSerialAtClass))
|
||||
|
||||
typedef struct _MMPortSerialAt MMPortSerialAt;
|
||||
typedef struct _MMPortSerialAtClass MMPortSerialAtClass;
|
||||
|
||||
/* AT port flags; for example consider a device with two AT ports (ACM0 and ACM1)
|
||||
* which could have the following layouts:
|
||||
*
|
||||
* ACM0(PRIMARY | PPP), ACM1(SECONDARY): port 0 is used for command and status
|
||||
* and for PPP data; while connected port 1 is used for command and status
|
||||
* ACM0(PPP), ACM1(PRIMARY): port 1 is always used for command and status, and
|
||||
* only when connecting is port 0 opened for dialing (ATD) and PPP
|
||||
*/
|
||||
typedef enum { /*< underscore_name=mm_port_serial_at_flag >*/
|
||||
MM_PORT_SERIAL_AT_FLAG_NONE = 0,
|
||||
/* This port is preferred for command and status */
|
||||
MM_PORT_SERIAL_AT_FLAG_PRIMARY = 1 << 0,
|
||||
/* Use port for command and status if the primary port is connected */
|
||||
MM_PORT_SERIAL_AT_FLAG_SECONDARY = 1 << 1,
|
||||
/* This port should be used for PPP */
|
||||
MM_PORT_SERIAL_AT_FLAG_PPP = 1 << 2,
|
||||
/* This port should be used for GPS control */
|
||||
MM_PORT_SERIAL_AT_FLAG_GPS_CONTROL = 1 << 3,
|
||||
} MMPortSerialAtFlag;
|
||||
|
||||
typedef gboolean (*MMPortSerialAtResponseParserFn) (gpointer user_data,
|
||||
GString *response,
|
||||
GError **error);
|
||||
|
||||
typedef void (*MMPortSerialAtUnsolicitedMsgFn) (MMPortSerialAt *port,
|
||||
GMatchInfo *match_info,
|
||||
gpointer user_data);
|
||||
|
||||
typedef void (*MMPortSerialAtResponseFn) (MMPortSerialAt *port,
|
||||
GString *response,
|
||||
GError *error,
|
||||
gpointer user_data);
|
||||
|
||||
#define MM_PORT_SERIAL_AT_REMOVE_ECHO "remove-echo"
|
||||
#define MM_PORT_SERIAL_AT_INIT_SEQUENCE_ENABLED "init-sequence-enabled"
|
||||
#define MM_PORT_SERIAL_AT_INIT_SEQUENCE "init-sequence"
|
||||
#define MM_PORT_SERIAL_AT_SEND_LF "send-lf"
|
||||
|
||||
struct _MMPortSerialAt {
|
||||
MMPortSerial parent;
|
||||
};
|
||||
|
||||
struct _MMPortSerialAtClass {
|
||||
MMPortSerialClass parent;
|
||||
};
|
||||
|
||||
GType mm_port_serial_at_get_type (void);
|
||||
|
||||
MMPortSerialAt *mm_port_serial_at_new (const char *name);
|
||||
|
||||
void mm_port_serial_at_add_unsolicited_msg_handler (MMPortSerialAt *self,
|
||||
GRegex *regex,
|
||||
MMPortSerialAtUnsolicitedMsgFn callback,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
|
||||
void mm_port_serial_at_enable_unsolicited_msg_handler (MMPortSerialAt *self,
|
||||
GRegex *regex,
|
||||
gboolean enable);
|
||||
|
||||
void mm_port_serial_at_set_response_parser (MMPortSerialAt *self,
|
||||
MMPortSerialAtResponseParserFn fn,
|
||||
gpointer user_data,
|
||||
GDestroyNotify notify);
|
||||
|
||||
void mm_port_serial_at_queue_command (MMPortSerialAt *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMPortSerialAtResponseFn callback,
|
||||
gpointer user_data);
|
||||
|
||||
void mm_port_serial_at_queue_command_cached (MMPortSerialAt *self,
|
||||
const char *command,
|
||||
guint32 timeout_seconds,
|
||||
gboolean is_raw,
|
||||
GCancellable *cancellable,
|
||||
MMPortSerialAtResponseFn callback,
|
||||
gpointer user_data);
|
||||
|
||||
/*
|
||||
* Convert a string into a quoted and escaped string. Returns a new
|
||||
* allocated string. Follows ITU V.250 5.4.2.2 "String constants".
|
||||
*/
|
||||
gchar *mm_port_serial_at_quote_string (const char *string);
|
||||
|
||||
/* Just for unit tests */
|
||||
void mm_port_serial_at_remove_echo (GByteArray *response);
|
||||
|
||||
void mm_port_serial_at_set_flags (MMPortSerialAt *self,
|
||||
MMPortSerialAtFlag flags);
|
||||
|
||||
MMPortSerialAtFlag mm_port_serial_at_get_flags (MMPortSerialAt *self);
|
||||
|
||||
/* Tell the port to run its init sequence, if any, right away */
|
||||
void mm_port_serial_at_run_init_sequence (MMPortSerialAt *self);
|
||||
|
||||
#endif /* MM_PORT_SERIAL_AT_H */
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <string.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "mm-at-serial-port.h"
|
||||
#include "mm-port-serial-at.h"
|
||||
#include "mm-log.h"
|
||||
|
||||
typedef struct {
|
||||
@@ -56,7 +56,7 @@ at_serial_echo_removal (void)
|
||||
(guint8 *)echo_removal_tests[i].original,
|
||||
strlen (echo_removal_tests[i].original) + 1);
|
||||
|
||||
mm_at_serial_port_remove_echo (ba);
|
||||
mm_port_serial_at_remove_echo (ba);
|
||||
|
||||
g_assert_cmpstr ((gchar *)ba->data, ==, echo_removal_tests[i].without_echo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user