core/varlink-manager: report individual job enqueue result if client sets 'more'

One nice property varlink has is that we can nicely report result
of individual operations on each unit, through the 'more' mechanism.
Hence do so for the EnqueueMarkedJobs() method.

Also, apply 502d6f4bc9 for varlink
method too.

While at it, use lowerCamelCase for method reply fields,
as requested in
https://github.com/systemd/systemd/pull/40365#discussion_r2702344239.
This commit is contained in:
Mike Yuan
2026-01-24 00:48:03 +01:00
parent 927b861add
commit f7823fdae0
4 changed files with 50 additions and 35 deletions
+10 -3
View File
@@ -181,10 +181,17 @@ static SD_VARLINK_DEFINE_METHOD(
static SD_VARLINK_DEFINE_METHOD(
Reload);
static SD_VARLINK_DEFINE_METHOD(
static SD_VARLINK_DEFINE_METHOD_FULL(
EnqueueMarkedJobs,
SD_VARLINK_FIELD_COMMENT("IDs of enqueued jobs"),
SD_VARLINK_DEFINE_OUTPUT(JobIDs, SD_VARLINK_INT, SD_VARLINK_ARRAY));
SD_VARLINK_SUPPORTS_MORE,
SD_VARLINK_FIELD_COMMENT("Enqueued unit ID"),
SD_VARLINK_DEFINE_OUTPUT(unitID, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("ID of enqueued job (if successful)"),
SD_VARLINK_DEFINE_OUTPUT(jobID, SD_VARLINK_INT, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("Varlink error ID (on failure)"),
SD_VARLINK_DEFINE_OUTPUT(error, SD_VARLINK_STRING, SD_VARLINK_NULLABLE),
SD_VARLINK_FIELD_COMMENT("Job enqueue error message (on failure)"),
SD_VARLINK_DEFINE_OUTPUT(errorMessage, SD_VARLINK_STRING, SD_VARLINK_NULLABLE));
static SD_VARLINK_DEFINE_ERROR(RateLimitReached);