aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-02-15 00:12:11 +0100
committerAleksander Morgado <aleksander@aleksander.es>2016-02-15 13:25:42 +0100
commit5d8b26eeeb9d18ff6022998edd200aa480203d93 (patch)
tree32d70af48b19f80c66a9b6fb6a97aa13fac2f8eb
parenteeb23637bd5a637e67955281a97223809023f23b (diff)
huawei: ignore ^ECCLIST unsolicited messages
These messages list the emergency numbers reported by the network, we don't use them yet. E.g.: ^ECCLIST: 112,911\r\n
-rw-r--r--plugins/huawei/mm-broadband-modem-huawei.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
index 5a3187b5..0449bc58 100644
--- a/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/plugins/huawei/mm-broadband-modem-huawei.c
@@ -117,6 +117,7 @@ struct _MMBroadbandModemHuaweiPrivate {
GRegex *rfswitch_regex;
GRegex *position_regex;
GRegex *posend_regex;
+ GRegex *ecclist_regex;
FeatureSupport ndisdup_support;
FeatureSupport rfswitch_support;
@@ -4057,6 +4058,10 @@ set_ignored_unsolicited_events_handlers (MMBroadbandModemHuawei *self)
port,
self->priv->posend_regex,
NULL, NULL, NULL);
+ mm_port_serial_at_add_unsolicited_msg_handler (
+ port,
+ self->priv->ecclist_regex,
+ NULL, NULL, NULL);
}
g_list_free_full (ports, (GDestroyNotify)g_object_unref);
@@ -4173,6 +4178,8 @@ mm_broadband_modem_huawei_init (MMBroadbandModemHuawei *self)
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
self->priv->posend_regex = g_regex_new ("\\r\\n\\^POSEND:.+\\r\\n",
G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
+ self->priv->ecclist_regex = g_regex_new ("\\r\\n\\^ECCLIST:.+\\r\\n",
+ G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
/* Voice related regex
* <CR><LF>^ORIG: <call_x>,<call_type><CR><LF>
@@ -4240,6 +4247,7 @@ finalize (GObject *object)
g_regex_unref (self->priv->rfswitch_regex);
g_regex_unref (self->priv->position_regex);
g_regex_unref (self->priv->posend_regex);
+ g_regex_unref (self->priv->ecclist_regex);
g_regex_unref (self->priv->orig_regex);
g_regex_unref (self->priv->conf_regex);
g_regex_unref (self->priv->conn_regex);