diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-base-bearer.c | 6 | ||||
-rw-r--r-- | src/mm-base-bearer.h | 9 | ||||
-rw-r--r-- | src/mm-bearer-list.c | 16 | ||||
-rw-r--r-- | src/mm-bearer-list.h | 8 |
4 files changed, 32 insertions, 7 deletions
diff --git a/src/mm-base-bearer.c b/src/mm-base-bearer.c index 92c98af8..6798f8d1 100644 --- a/src/mm-base-bearer.c +++ b/src/mm-base-bearer.c @@ -1290,6 +1290,12 @@ mm_base_bearer_get_config (MMBaseBearer *self) NULL); } +gint +mm_base_bearer_get_profile_id (MMBaseBearer *self) +{ + return mm_gdbus_bearer_get_profile_id (MM_GDBUS_BEARER (self)); +} + /*****************************************************************************/ static void diff --git a/src/mm-base-bearer.h b/src/mm-base-bearer.h index 6ab58ac4..bef771b7 100644 --- a/src/mm-base-bearer.h +++ b/src/mm-base-bearer.h @@ -155,10 +155,11 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMBaseBearer, g_object_unref) void mm_base_bearer_export (MMBaseBearer *self); -const gchar *mm_base_bearer_get_path (MMBaseBearer *self); -MMBearerStatus mm_base_bearer_get_status (MMBaseBearer *self); -MMBearerProperties *mm_base_bearer_peek_config (MMBaseBearer *self); -MMBearerProperties *mm_base_bearer_get_config (MMBaseBearer *self); +const gchar *mm_base_bearer_get_path (MMBaseBearer *self); +MMBearerStatus mm_base_bearer_get_status (MMBaseBearer *self); +MMBearerProperties *mm_base_bearer_peek_config (MMBaseBearer *self); +MMBearerProperties *mm_base_bearer_get_config (MMBaseBearer *self); +gint mm_base_bearer_get_profile_id (MMBaseBearer *self); void mm_base_bearer_connect (MMBaseBearer *self, GAsyncReadyCallback callback, diff --git a/src/mm-bearer-list.c b/src/mm-bearer-list.c index b0694588..71f3b9e3 100644 --- a/src/mm-bearer-list.c +++ b/src/mm-bearer-list.c @@ -155,6 +155,22 @@ mm_bearer_list_find_by_path (MMBearerList *self, return NULL; } +MMBaseBearer * +mm_bearer_list_find_by_profile_id (MMBearerList *self, + gint profile_id) +{ + GList *l; + + g_assert (profile_id != MM_3GPP_PROFILE_ID_UNKNOWN); + + for (l = self->priv->bearers; l; l = g_list_next (l)) { + if (mm_base_bearer_get_profile_id (MM_BASE_BEARER (l->data)) == profile_id) + return g_object_ref (l->data); + } + + return NULL; +} + /*****************************************************************************/ typedef struct { diff --git a/src/mm-bearer-list.h b/src/mm-bearer-list.h index 72fe24ff..40771f9a 100644 --- a/src/mm-bearer-list.h +++ b/src/mm-bearer-list.h @@ -70,10 +70,12 @@ void mm_bearer_list_foreach (MMBearerList *self, MMBearerListForeachFunc func, gpointer user_data); -MMBaseBearer *mm_bearer_list_find_by_properties (MMBearerList *self, +MMBaseBearer *mm_bearer_list_find_by_properties (MMBearerList *self, MMBearerProperties *properties); -MMBaseBearer *mm_bearer_list_find_by_path (MMBearerList *self, - const gchar *path); +MMBaseBearer *mm_bearer_list_find_by_path (MMBearerList *self, + const gchar *path); +MMBaseBearer *mm_bearer_list_find_by_profile_id (MMBearerList *self, + gint profile_id); void mm_bearer_list_disconnect_all_bearers (MMBearerList *self, GAsyncReadyCallback callback, |