about summary refs log tree commit diff
path: root/src/core/nm-active-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/nm-active-connection.c')
-rw-r--r--src/core/nm-active-connection.c48
1 files changed, 29 insertions, 19 deletions
diff --git a/src/core/nm-active-connection.c b/src/core/nm-active-connection.c
index 49568f7c..6f62a601 100644
--- a/src/core/nm-active-connection.c
+++ b/src/core/nm-active-connection.c
@@ -81,6 +81,7 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMActiveConnection,
                              PROP_DHCP6_CONFIG,
                              PROP_VPN,
                              PROP_MASTER,
+                             PROP_CONTROLLER,
 
                              PROP_INT_SETTINGS_CONNECTION,
                              PROP_INT_APPLIED_CONNECTION,
@@ -116,22 +117,22 @@ static void auth_complete(NMActiveConnection *self, gboolean result, const char
 
 #define _NMLOG_DOMAIN      LOGD_DEVICE
 #define _NMLOG_PREFIX_NAME "active-connection"
-#define _NMLOG(level, ...)                                                                         \
-    G_STMT_START                                                                                   \
-    {                                                                                              \
-        char                       _sbuf[64];                                                      \
-        NMActiveConnectionPrivate *_priv = self ? NM_ACTIVE_CONNECTION_GET_PRIVATE(self) : NULL;   \
-                                                                                                   \
-        nm_log((level),                                                                            \
-               _NMLOG_DOMAIN,                                                                      \
-               (_priv && _priv->device) ? nm_device_get_iface(_priv->device) : NULL,               \
-               (_priv && _priv->applied_connection)                                                \
-                   ? nm_connection_get_uuid(_priv->applied_connection)                             \
-                   : NULL,                                                                         \
-               "%s%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__),                                        \
-               _NMLOG_PREFIX_NAME,                                                                 \
-               self ? nm_sprintf_buf(_sbuf, "[%p]", self) : "" _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
-    }                                                                                              \
+#define _NMLOG(level, ...)                                                                       \
+    G_STMT_START                                                                                 \
+    {                                                                                            \
+        char                       _sbuf[64];                                                    \
+        NMActiveConnectionPrivate *_priv = self ? NM_ACTIVE_CONNECTION_GET_PRIVATE(self) : NULL; \
+                                                                                                 \
+        nm_log((level),                                                                          \
+               _NMLOG_DOMAIN,                                                                    \
+               (_priv && _priv->device) ? nm_device_get_iface(_priv->device) : NULL,             \
+               (_priv && _priv->applied_connection)                                              \
+                   ? nm_connection_get_uuid(_priv->applied_connection)                           \
+                   : NULL,                                                                       \
+               "%s%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__),                                      \
+               _NMLOG_PREFIX_NAME,                                                               \
+               NM_HASH_OBFUSCATE_PTR_STR(self, _sbuf) _NM_UTILS_MACRO_REST(__VA_ARGS__));        \
+    }                                                                                            \
     G_STMT_END
 
 /*****************************************************************************/
@@ -803,7 +804,7 @@ check_master_ready(NMActiveConnection *self)
          * ensure that if the master connection was created without a device
          * that we notify clients when the master device is known.
          */
-        _notify(self, PROP_MASTER);
+        nm_gobject_notify_together(self, PROP_MASTER, PROP_CONTROLLER);
     }
 }
 
@@ -1343,6 +1344,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
     case PROP_VPN:
         g_value_set_boolean(value, priv->vpn);
         break;
+    case PROP_CONTROLLER:
     case PROP_MASTER:
         if (priv->master)
             master_device = nm_active_connection_get_device(priv->master);
@@ -1440,8 +1442,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
         /* construct-only */
         priv->vpn = g_value_get_boolean(value);
         break;
-    case PROP_MASTER:
-        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -1601,6 +1601,9 @@ static const NMDBusInterfaceInfoExtended interface_info_active_connection = {
                                                            "o",
                                                            NM_ACTIVE_CONNECTION_DHCP6_CONFIG),
             NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Vpn", "b", NM_ACTIVE_CONNECTION_VPN),
+            NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Controller",
+                                                           "o",
+                                                           NM_ACTIVE_CONNECTION_CONTROLLER),
             NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE("Master",
                                                            "o",
                                                            NM_ACTIVE_CONNECTION_MASTER), ), ),
@@ -1732,6 +1735,13 @@ nm_active_connection_class_init(NMActiveConnectionClass *ac_class)
                                                       NULL,
                                                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
+    obj_properties[PROP_CONTROLLER] =
+        g_param_spec_string(NM_ACTIVE_CONNECTION_CONTROLLER,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
     /* Internal properties */
     obj_properties[PROP_INT_SETTINGS_CONNECTION] =
         g_param_spec_object(NM_ACTIVE_CONNECTION_INT_SETTINGS_CONNECTION,