chiark / gitweb /
manager: convert ephemeral to enum
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 28 Oct 2014 03:02:54 +0000 (23:02 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 28 Oct 2014 03:02:54 +0000 (23:02 -0400)
In preparation for subsequent changes.

src/core/job.c
src/core/manager.c
src/core/manager.h
src/core/unit.c

index aa205ba781b0066c2289e64e1a239498b73bbfca..eaa4bb17fc1d42787613e9cb4269baeee77d209c 100644 (file)
@@ -639,7 +639,7 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
 
                         manager_flip_auto_status(u->manager, true);
                         unit_status_printf(u, ANSI_HIGHLIGHT_RED_ON "FAILED" ANSI_HIGHLIGHT_OFF, format);
-                        manager_status_printf(u->manager, false, NULL,
+                        manager_status_printf(u->manager, STATUS_TYPE_NORMAL, NULL,
                                               "See \"systemctl status %s%s%s\" for details.",
                                               quotes ? "'" : "", u->id, quotes ? "'" : "");
                         break;
index 7a5ecb76d64490eda0262112ae354e150260f965..859631d3f6c6f2c1cb5da56f0a41d78ebbbdf564 100644 (file)
@@ -194,7 +194,7 @@ static void manager_print_jobs_in_progress(Manager *m) {
         if (job_get_timeout(j, &x) > 0)
                 format_timespan(limit, sizeof(limit), x - j->begin_usec, 1*USEC_PER_SEC);
 
-        manager_status_printf(m, true, cylon,
+        manager_status_printf(m, STATUS_TYPE_EPHEMERAL, cylon,
                               "%sA %s job is running for %s (%s / %s)",
                               strempty(job_of_n),
                               job_type_to_string(j->type),
@@ -2931,7 +2931,7 @@ void manager_set_show_status(Manager *m, ShowStatus mode) {
                 unlink("/run/systemd/show-status");
 }
 
-static bool manager_get_show_status(Manager *m) {
+static bool manager_get_show_status(Manager *m, StatusType type) {
         assert(m);
 
         if (m->running_as != SYSTEMD_SYSTEM)
@@ -2969,19 +2969,19 @@ void manager_set_first_boot(Manager *m, bool b) {
                 unlink("/run/systemd/first-boot");
 }
 
-void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...) {
+void manager_status_printf(Manager *m, StatusType type, const char *status, const char *format, ...) {
         va_list ap;
 
-        if (!manager_get_show_status(m))
+        if (!manager_get_show_status(m, type))
                 return;
 
         /* XXX We should totally drop the check for ephemeral here
          * and thus effectively make 'Type=idle' pointless. */
-        if (ephemeral && m->n_on_console > 0)
+        if (type == STATUS_TYPE_EPHEMERAL && m->n_on_console > 0)
                 return;
 
         va_start(ap, format);
-        status_vprintf(status, true, ephemeral, format, ap);
+        status_vprintf(status, true, type == STATUS_TYPE_EPHEMERAL, format, ap);
         va_end(ap);
 }
 
index 782b85da00d2393329ff521347d3b4cf6fde080c..d0c0f58d0b32b358320d82cc8ec9fe13cc2e1d08 100644 (file)
@@ -60,6 +60,11 @@ typedef enum ManagerExitCode {
         _MANAGER_EXIT_CODE_INVALID = -1
 } ManagerExitCode;
 
+typedef enum StatusType {
+        STATUS_TYPE_EPHEMERAL,
+        STATUS_TYPE_NORMAL,
+} StatusType;
+
 #include "unit.h"
 #include "job.h"
 #include "hashmap.h"
@@ -349,7 +354,7 @@ void manager_recheck_journal(Manager *m);
 void manager_set_show_status(Manager *m, ShowStatus mode);
 void manager_set_first_boot(Manager *m, bool b);
 
-void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...) _printf_(4,5);
+void manager_status_printf(Manager *m, StatusType type, const char *status, const char *format, ...) _printf_(4,5);
 void manager_flip_auto_status(Manager *m, bool enable);
 
 Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path);
index afb760d4a3ecd334e2fd435beeac780fb68f2e7c..489ea1e502945a624b2e6d587023fcbd852f2e0d 100644 (file)
@@ -2768,7 +2768,8 @@ int unit_coldplug(Unit *u) {
 
 void unit_status_printf(Unit *u, const char *status, const char *unit_status_msg_format) {
         DISABLE_WARNING_FORMAT_NONLITERAL;
-        manager_status_printf(u->manager, false, status, unit_status_msg_format, unit_description(u));
+        manager_status_printf(u->manager, STATUS_TYPE_NORMAL,
+                              status, unit_status_msg_format, unit_description(u));
         REENABLE_WARNING;
 }