summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2012-08-08 17:13:53 +0100
committerJonathan Maw <jonathan.maw@codethink.co.uk>2012-08-10 09:40:02 +0100
commitd7116927d002bf7a0a6a21997117c36418aa56f3 (patch)
tree9bb011ae3acc3998ac4d8490f370be84540dd067
parentb1483f842beded2611d6fbff0ff040caa717f28c (diff)
downloadnode-startup-controller-d7116927d002bf7a0a6a21997117c36418aa56f3.tar.gz
Expand documentation for JobManager
-rw-r--r--node-startup-controller/job-manager.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/node-startup-controller/job-manager.c b/node-startup-controller/job-manager.c
index b8a654c..85d4a0c 100644
--- a/node-startup-controller/job-manager.c
+++ b/node-startup-controller/job-manager.c
@@ -25,9 +25,20 @@
* @short_description: Manages systemd jobs.
* @stability: Internal
*
- * The Job Manager simplifies starting and stopping systemd units by handling all the
+ * The #JobManager simplifies starting and stopping systemd units by handling all the
* D-Bus communication with the systemd manager internally. Units can be started and
- * stopped using job_manager_start() and job_manager_stop().
+ * stopped using job_manager_start() and job_manager_stop() and will call the @callback
+ * passed to the function when the unit is started or stopped.
+ *
+ * The #JobManager contains an internal table which associates systemd job names with the
+ * necessary information about that job, e.g. the unit name.
+ *
+ * When the #JobManager is told to start or stop a unit, it creates a job in systemd to
+ * start or stop that unit, stores the name of that job and waits until that job has
+ * finished before calling the @callback.
+ *
+ * The #JobManager finds out that a job has finished by listening to "JobRemoved" signals
+ * from systemd and looking for that job by its job name.
*/