]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: move service_context_build_json() to varlink-service.c
authorIvan Kruglov <mail@ikruglov.com>
Thu, 14 May 2026 16:41:09 +0000 (09:41 -0700)
committerIvan Kruglov <mail@ikruglov.com>
Thu, 14 May 2026 16:53:03 +0000 (09:53 -0700)
Move the existing (partial) service context builder from varlink-unit.c into its own varlink-service.c file, following the pattern established by other unit type context builders (varlink-path.c, varlink-scope.c, etc.). No functional change.

src/core/meson.build
src/core/varlink-service.c [new file with mode: 0644]
src/core/varlink-service.h [new file with mode: 0644]
src/core/varlink-unit.c

index 3af15b948fe177ee7629906b99f9d6f725d629ec..98cf02aef8879a10837638b8740400a26876869e 100644 (file)
@@ -76,6 +76,7 @@ libcore_sources = files(
         'varlink-mount.c',
         'varlink-path.c',
         'varlink-scope.c',
+        'varlink-service.c',
         'varlink-socket.c',
         'varlink-swap.c',
         'varlink-timer.c',
diff --git a/src/core/varlink-service.c b/src/core/varlink-service.c
new file mode 100644 (file)
index 0000000..8d9ed6e
--- /dev/null
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "sd-json.h"
+
+#include "json-util.h"
+#include "service.h"
+#include "varlink-common.h"
+#include "varlink-service.h"
+
+/* TODO: This covers only a small subset of a service object's properties. Extend to make more available to
+ * consumers like Unit.StartTransient */
+int service_context_build_json(sd_json_variant **ret, const char *name, void *userdata) {
+        Unit *u = ASSERT_PTR(userdata);
+        Service *s = ASSERT_PTR(SERVICE(u));
+        assert(ret);
+
+        return sd_json_buildo(
+                        ret,
+                        JSON_BUILD_PAIR_ENUM("Type", service_type_to_string(s->type)),
+                        JSON_BUILD_PAIR_CALLBACK_NON_NULL("ExecStart", exec_command_list_build_json, s->exec_command[SERVICE_EXEC_START]),
+                        SD_JSON_BUILD_PAIR_BOOLEAN("RemainAfterExit", s->remain_after_exit));
+}
diff --git a/src/core/varlink-service.h b/src/core/varlink-service.h
new file mode 100644 (file)
index 0000000..07ed1b9
--- /dev/null
@@ -0,0 +1,6 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "core-forward.h"
+
+int service_context_build_json(sd_json_variant **ret, const char *name, void *userdata);
index f7ef7506493c2c3f8d872fdfd467b432a13a581d..368e39a63edcb1f0b8438ddc41e74bc69dbe53f0 100644 (file)
@@ -31,6 +31,7 @@
 #include "varlink-mount.h"
 #include "varlink-path.h"
 #include "varlink-scope.h"
+#include "varlink-service.h"
 #include "varlink-socket.h"
 #include "varlink-swap.h"
 #include "varlink-timer.h"
@@ -119,20 +120,6 @@ static int unit_conditions_build_json(sd_json_variant **ret, const char *name, v
         return 0;
 }
 
-/* TODO: This covers only a small subset of a service object's properties. Extend to make more available to
- * consumers like Unit.StartTransient */
-static int service_context_build_json(sd_json_variant **ret, const char *name, void *userdata) {
-        Unit *u = ASSERT_PTR(userdata);
-        Service *s = ASSERT_PTR(SERVICE(u));
-        assert(ret);
-
-        return sd_json_buildo(
-                        ret,
-                        JSON_BUILD_PAIR_ENUM("Type", service_type_to_string(s->type)),
-                        JSON_BUILD_PAIR_CALLBACK_NON_NULL("ExecStart", exec_command_list_build_json, s->exec_command[SERVICE_EXEC_START]),
-                        SD_JSON_BUILD_PAIR_BOOLEAN("RemainAfterExit", s->remain_after_exit));
-}
-
 static int unit_context_build_json(sd_json_variant **ret, const char *name, void *userdata) {
         Unit *u = ASSERT_PTR(userdata);