diff options
author | Francisco Redondo Marchena <francisco.marchena@codethink.co.uk> | 2012-08-09 11:31:02 +0100 |
---|---|---|
committer | Jonathan Maw <jonathan.maw@codethink.co.uk> | 2012-08-10 10:10:32 +0100 |
commit | 129fb0a94d3134e211b3441f5ddc0c682481534a (patch) | |
tree | 11bfbc3de20e1e5ae85d70409552ca35871d623f | |
parent | d7116927d002bf7a0a6a21997117c36418aa56f3 (diff) | |
download | node-startup-controller-129fb0a94d3134e211b3441f5ddc0c682481534a.tar.gz |
Expand description of the LUCStarter
Includes a step-by-step description of how to start the Last User
Context.
-rw-r--r-- | node-startup-controller/luc-starter.c | 54 |
1 files changed, 39 insertions, 15 deletions
diff --git a/node-startup-controller/luc-starter.c b/node-startup-controller/luc-starter.c index 6e67f10..8032dc7 100644 --- a/node-startup-controller/luc-starter.c +++ b/node-startup-controller/luc-starter.c @@ -28,6 +28,45 @@ +/** + * SECTION: luc-starter + * @title: LUCStarter + * @short_description: Starts the applications registered with the Last User Context. + * @stability: Internal + * + * The #LUCStarter is a component of the #NodeStartupControllerApplication which manages + * the start of the Last User Context (LUC) applications. + * + * When the #NodeStartupControllerApplication starts, it asks the #LUCStarter to start + * the LUC applications. To start the LUC applications, the #LUCStarter will do the + * following in order: + * + * 1. Checks with the Node State Manager (NSM) if starting the LUC applications + * is required. If it is not required, it notifies the groups of current applications + * that the start of the LUC has been processed, which never happens because starting + * the LUC is not required. + * + * If starting the LUC is required: + * + * 2. Removes the current user context. + * + * 3. Reads the LUC using the node_startup_controller_service_read_luc(). + * + * 4. Starts the LUC applications asynchronously and in prioritised groups. The group of + * applications, which belong to the most prioritised LUC type, start first and then + * the next group of applications are started in the order of the prioritized types + * set at build-time, then in numerical order. + * When an application is started, the #LUCStarter keeps it in a table, associates + * this application with its #GCancellable (so it is possible to cancel each + * respective application if the start of the LUC is cancelled), and start the service + * calling the start method to #JobManager and passing its #GCancellable. + * + * 5. Notifies the groups of applications that the start of the LUC has been processed. + * + */ + + + DLT_IMPORT_CONTEXT (controller_context); @@ -81,21 +120,6 @@ static void luc_starter_start_groups_for_real (LUCStarter *starter); -/** - * SECTION: luc-starter - * @title: LUCStarter - * @short_description: Starts the applications registered with the Last User Context - * @stability: Internal - * - * The #LUCStarter starts the Last User Context (LUC) applications. The LUC applications - * are started asynchronously and in groups (one group per LUC type). - * The #LUCStarter checks with Node State Manager (NSM) if starting the LUC applications - * is required. If it is required, the #LUCStarter will start the LUC applications. - * Notice that it is possible to cancel the start of the LUC applications. - */ - - - struct _LUCStarterClass { GObjectClass __parent__; |