aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>2025-02-22 11:04:42 +0100
committerDan Williams <dan@ioncontrol.co>2025-05-23 18:46:32 -0500
commit42ead8826608f39491020863f4a4593918e3ae06 (patch)
tree689f9e737ffc0d99169b601a7c2414209c467404
parent39f4cf77f25f345af4efd1e7ea31c1e02a67b433 (diff)
log-object: Add possibility to reset logger id
Logger id (the one generated from build_id interface method and owner_id property) is generated and cached the first time it is required, further uses just return the cached value. Add a cache reset method so if the interface implementer knows that its logger id could have changed it could force its re-generation. Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
-rw-r--r--src/mm-log-object.c11
-rw-r--r--src/mm-log-object.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mm-log-object.c b/src/mm-log-object.c
index ed41355f..b5e390f1 100644
--- a/src/mm-log-object.c
+++ b/src/mm-log-object.c
@@ -81,6 +81,17 @@ mm_log_object_set_owner_id (MMLogObject *self,
priv = get_private (self);
g_free (priv->owner_id);
priv->owner_id = g_strdup (owner_id);
+
+ mm_log_object_reset_id (self);
+}
+
+void
+mm_log_object_reset_id (MMLogObject *self)
+{
+ Private *priv;
+
+ priv = get_private (self);
+ g_clear_pointer (&priv->id, g_free);
}
static void
diff --git a/src/mm-log-object.h b/src/mm-log-object.h
index 21ffc05e..9ddc7832 100644
--- a/src/mm-log-object.h
+++ b/src/mm-log-object.h
@@ -34,5 +34,6 @@ struct _MMLogObjectInterface
const gchar *mm_log_object_get_id (MMLogObject *self);
void mm_log_object_set_owner_id (MMLogObject *self,
const gchar *owner_id);
+void mm_log_object_reset_id (MMLogObject *self);
#endif /* MM_LOG_OBJECT_H */