aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-01-21 18:08:41 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:55 +0100
commit718093dc59f2cce7556d28efa4a26866b39e4c2e (patch)
tree8cf2d04645bf7ac9cda404d466c47083972a145b /src
parent1603fd1109d6056320472e072c5ec3698a95c81c (diff)
broadband-bearer: implement comparison with bearer properties
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-bearer.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
index 1dcf4c96..6d66ebcc 100644
--- a/src/mm-broadband-bearer.c
+++ b/src/mm-broadband-bearer.c
@@ -1476,6 +1476,26 @@ disconnect (MMBearer *self,
/*****************************************************************************/
+static gboolean
+cmp_properties (MMBearer *self,
+ MMCommonBearerProperties *properties)
+{
+ MMBroadbandBearer *broadband = MM_BROADBAND_BEARER (self);
+
+ return ((!g_strcmp0 (broadband->priv->apn,
+ mm_common_bearer_properties_get_apn (properties))) &&
+ (!g_strcmp0 (broadband->priv->ip_type,
+ mm_common_bearer_properties_get_ip_type (properties))) &&
+ (broadband->priv->allow_roaming ==
+ mm_common_bearer_properties_get_allow_roaming (properties)) &&
+ (!g_strcmp0 (broadband->priv->number,
+ mm_common_bearer_properties_get_number (properties))) &&
+ (broadband->priv->rm_protocol ==
+ mm_common_bearer_properties_get_rm_protocol (properties)));
+}
+
+/*****************************************************************************/
+
typedef struct _InitAsyncContext InitAsyncContext;
static void interface_initialization_step (InitAsyncContext *ctx);
@@ -1936,6 +1956,7 @@ mm_broadband_bearer_class_init (MMBroadbandBearerClass *klass)
object_class->finalize = finalize;
object_class->dispose = dispose;
+ bearer_class->cmp_properties = cmp_properties;
bearer_class->connect = connect;
bearer_class->connect_finish = connect_finish;
bearer_class->disconnect = disconnect;