aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-bearer.c27
-rw-r--r--src/mm-bearer.h1
2 files changed, 22 insertions, 6 deletions
diff --git a/src/mm-bearer.c b/src/mm-bearer.c
index b13eb1a7..a89a7a1f 100644
--- a/src/mm-bearer.c
+++ b/src/mm-bearer.c
@@ -70,6 +70,21 @@ struct _MMBearerPrivate {
};
/*****************************************************************************/
+
+void
+mm_bearer_export (MMBearer *self)
+{
+ static guint id = 0;
+ gchar *path;
+
+ path = g_strdup_printf (MM_DBUS_BEARER_PREFIX "/%d", id++);
+ g_object_set (self,
+ MM_BEARER_PATH, path,
+ NULL);
+ g_free (path);
+}
+
+/*****************************************************************************/
/* CONNECT */
gboolean
@@ -404,7 +419,7 @@ mm_bearer_disconnect (MMBearer *self,
/*****************************************************************************/
static void
-mm_bearer_export (MMBearer *self)
+mm_bearer_dbus_export (MMBearer *self)
{
GError *error = NULL;
@@ -430,7 +445,7 @@ mm_bearer_export (MMBearer *self)
}
static void
-mm_bearer_unexport (MMBearer *self)
+mm_bearer_dbus_unexport (MMBearer *self)
{
const gchar *path;
@@ -557,7 +572,7 @@ set_property (GObject *object,
/* Export when we get a DBus connection AND we have a path */
if (self->priv->path &&
self->priv->connection)
- mm_bearer_export (self);
+ mm_bearer_dbus_export (self);
break;
case PROP_CONNECTION:
g_clear_object (&self->priv->connection);
@@ -565,9 +580,9 @@ set_property (GObject *object,
/* Export when we get a DBus connection AND we have a path */
if (!self->priv->connection)
- mm_bearer_unexport (self);
+ mm_bearer_dbus_unexport (self);
else if (self->priv->path)
- mm_bearer_export (self);
+ mm_bearer_dbus_export (self);
break;
case PROP_MODEM:
g_clear_object (&self->priv->modem);
@@ -663,7 +678,7 @@ dispose (GObject *object)
MMBearer *self = MM_BEARER (object);
if (self->priv->connection) {
- mm_bearer_unexport (self);
+ mm_bearer_dbus_unexport (self);
g_clear_object (&self->priv->connection);
}
diff --git a/src/mm-bearer.h b/src/mm-bearer.h
index 5ca55c2e..d99eacc3 100644
--- a/src/mm-bearer.h
+++ b/src/mm-bearer.h
@@ -88,6 +88,7 @@ struct _MMBearerClass {
GType mm_bearer_get_type (void);
+void mm_bearer_export (MMBearer *self);
const gchar *mm_bearer_get_path (MMBearer *bearer);
void mm_bearer_expose_properties (MMBearer *bearer,