summaryrefslogtreecommitdiff
path: root/src/mm-base-bearer.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-03-29 16:07:11 +0200
committerAleksander Morgado <aleksander@aleksander.es>2020-04-08 16:35:08 +0200
commitc0fb9b42c02e2f3a5697ca9e5f1d814be933066d (patch)
tree5488ae5ec1c0f9e6367c39cbb942215b8eb5b1c1 /src/mm-base-bearer.c
parented41f969d5b80ae28e1841657c85b12ef5a29ad3 (diff)
base-bearer: set dbus id as soon as object is created
Diffstat (limited to 'src/mm-base-bearer.c')
-rw-r--r--src/mm-base-bearer.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mm-base-bearer.c b/src/mm-base-bearer.c
index 81c281b0..d4e60c2b 100644
--- a/src/mm-base-bearer.c
+++ b/src/mm-base-bearer.c
@@ -76,6 +76,8 @@ static GParamSpec *properties[PROP_LAST];
struct _MMBaseBearerPrivate {
/* The connection to the system bus */
GDBusConnection *connection;
+ guint dbus_id;
+
/* The modem which owns this BEARER */
MMBaseModem *modem;
/* The path where the BEARER object is exported */
@@ -139,10 +141,9 @@ static const gchar *connection_forbidden_reason_str [CONNECTION_FORBIDDEN_REASON
void
mm_base_bearer_export (MMBaseBearer *self)
{
- static guint id = 0;
gchar *path;
- path = g_strdup_printf (MM_DBUS_BEARER_PREFIX "/%d", id++);
+ path = g_strdup_printf (MM_DBUS_BEARER_PREFIX "/%d", self->priv->dbus_id);
g_object_set (self,
MM_BASE_BEARER_PATH, path,
NULL);
@@ -1429,10 +1430,16 @@ get_property (GObject *object,
static void
mm_base_bearer_init (MMBaseBearer *self)
{
+ static guint id = 0;
+
/* Initialize private data */
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
MM_TYPE_BASE_BEARER,
MMBaseBearerPrivate);
+
+ /* Each bearer is given a unique id to build its own DBus path */
+ self->priv->dbus_id = id++;
+
self->priv->status = MM_BEARER_STATUS_DISCONNECTED;
self->priv->reason_3gpp = CONNECTION_FORBIDDEN_REASON_NONE;
self->priv->reason_cdma = CONNECTION_FORBIDDEN_REASON_NONE;