]> Kevux Git Server - fll/commitdiff
Cleanup: Remove unused task feature.
authorKevin Day <thekevinday@gmail.com>
Tue, 5 Jul 2022 13:53:42 +0000 (08:53 -0500)
committerKevin Day <thekevinday@gmail.com>
Tue, 5 Jul 2022 13:53:42 +0000 (08:53 -0500)
This functionality did not make the cut for the 0.6.x stable release series.
I may revisit this in the future.

12 files changed:
level_3/controller/c/common/private-common.h
level_3/controller/c/common/private-task.c [deleted file]
level_3/controller/c/common/private-task.h [deleted file]
level_3/controller/c/task/private-task.c [deleted file]
level_3/controller/c/task/private-task.h [deleted file]
level_3/controller/c/task/private-task_print.c [deleted file]
level_3/controller/c/task/private-task_print.h [deleted file]
level_3/controller/data/build/settings
level_3/controller/data/settings/tasks/system/reboot.task [deleted file]
level_3/controller/data/settings/tasks/system/shutdown.task [deleted file]
level_3/controller/documents/entry.txt
level_3/controller/documents/task.txt [deleted file]

index e2659827a6b08144c24b8287c7568f387ed15cb4..c528612c81361961100078274e8dc7d09c2701cd 100644 (file)
@@ -17,7 +17,6 @@ extern "C" {
 #include "private-execute_set.h"
 #include "private-lock.h"
 #include "private-rule.h"
-#include "private-task.h"
 #include "private-process.h"
 #include "private-entry.h"
 #include "private-control.h"
diff --git a/level_3/controller/c/common/private-task.c b/level_3/controller/c/common/private-task.c
deleted file mode 100644 (file)
index d50f4e9..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#include "../controller.h"
-#include "private-common.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _di_controller_task_action_delete_simple_
-  void controller_task_action_delete_simple(controller_task_action_t * const action) {
-
-    f_string_dynamic_resize(0, &action->help);
-    f_string_dynamics_resize(0, &action->parameters);
-  }
-#endif // _di_controller_task_action_delete_simple_
-
-#ifndef _di_controller_task_actions_delete_simple_
-  void controller_task_actions_delete_simple(controller_task_actions_t * const actions) {
-
-    actions->used = actions->size;
-
-    while (actions->used) {
-      controller_task_action_delete_simple(&actions->array[--actions->used]);
-    } // while
-
-    f_memory_delete(actions->size, sizeof(controller_task_action_t), (void **) & actions->array);
-    actions->size = 0;
-  }
-#endif // _di_controller_task_actions_delete_simple_
-
-#ifndef _di_controller_task_actions_increase_by_
-  f_status_t controller_task_actions_increase_by(const f_array_length_t amount, controller_task_actions_t * const actions) {
-
-    if (actions->used + amount > actions->size) {
-      if (actions->used + amount > F_array_length_t_size_d) {
-        return F_status_set_error(F_array_too_large);
-      }
-
-      const f_status_t status = f_memory_resize(actions->size, actions->used + amount, sizeof(controller_task_action_t), (void **) & actions->array);
-
-      if (F_status_is_error_not(status)) {
-        actions->size = actions->used + amount;
-      }
-
-      return status;
-    }
-
-    return F_data_not;
-  }
-#endif // _di_controller_task_actions_increase_by_
-
-#ifndef _di_controller_task_delete_simple_
-  void controller_task_delete_simple(controller_task_t * const task) {
-
-    f_string_dynamic_resize(0, &task->alias);
-    f_string_dynamic_resize(0, &task->engine);
-    f_string_dynamic_resize(0, &task->help);
-    f_string_dynamic_resize(0, &task->name);
-    f_string_dynamic_resize(0, &task->path);
-
-    f_string_maps_resize(0, &task->arguments);
-    f_string_maps_resize(0, &task->defines);
-    f_string_maps_resize(0, &task->parameters);
-
-    f_string_dynamics_resize(0, &task->environment);
-
-    macro_f_int32s_t_delete_simple(task->affinity)
-    macro_f_control_group_t_delete_simple(task->cgroup)
-    macro_f_int32s_t_delete_simple(task->groups)
-    macro_f_limit_sets_t_delete_simple(task->limits)
-
-    if (task->capability) {
-      f_capability_delete(&task->capability);
-    }
-
-    controller_task_actions_delete_simple(&task->actions);
-  }
-#endif // _di_controller_task_delete_simple_
-
-#ifndef _di_controller_tasks_delete_simple_
-  void controller_tasks_delete_simple(controller_tasks_t * const tasks) {
-
-    controller_tasks_resize(0, tasks);
-  }
-#endif // _di_controller_tasks_delete_simple_
-
-#ifndef _di_controller_tasks_increase_
-  f_status_t controller_tasks_increase(controller_tasks_t * const tasks) {
-
-    if (tasks->used + 1 > tasks->size) {
-      f_array_length_t size = tasks->used + controller_common_allocation_small_d;
-
-      if (size > F_array_length_t_size_d) {
-        if (tasks->used + 1 > F_array_length_t_size_d) {
-          return F_status_set_error(F_array_too_large);
-        }
-
-        size = F_array_length_t_size_d;
-      }
-
-      return controller_tasks_resize(size, tasks);
-    }
-
-    return F_data_not;
-  }
-#endif // _di_controller_tasks_increase_
-
-#ifndef _di_controller_tasks_resize_
-  f_status_t controller_tasks_resize(const f_array_length_t length, controller_tasks_t * const tasks) {
-
-    for (f_array_length_t i = length; i < tasks->size; ++i) {
-      controller_task_delete_simple(&tasks->array[i]);
-    } // for
-
-    const f_status_t status = f_memory_resize(tasks->size, length, sizeof(controller_task_t), (void **) & tasks->array);
-    if (F_status_is_error(status)) return status;
-
-    tasks->size = length;
-
-    if (tasks->used > tasks->size) {
-      tasks->used = length;
-    }
-
-    return F_none;
-  }
-#endif // _di_controller_tasks_resize_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
diff --git a/level_3/controller/c/common/private-task.h b/level_3/controller/c/common/private-task.h
deleted file mode 100644 (file)
index eec60d3..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-/**
- * FLL - Level 3
- *
- * Project: Controller
- * API Version: 0.6
- * Licenses: lgpl-2.1-or-later
- */
-#ifndef _PRIVATE_common_task_h
-#define _PRIVATE_common_task_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * A Task Action.
- *
- * controller_task_action_method_*:
- *   - extended:      Designate that this Action is represented using FSS Extended.
- *   - extended_list: Designate that this Action is represented using FSS Extended List.
- *
- * help:       The help text associated with this action.
- * line:       The line number where the Task Action begins.
- * parameters: All parameters associated with the Task Action.
- * status:     The last execution status of the Task Action.
- * type:       The Task Action type, this references an index in the controller_task_parameters_t for the parent Task.
- */
-#ifndef _di_controller_task_action_t_
-  #define controller_task_action_method_string_extended_s      "FSS-0001 (Extended)"
-  #define controller_task_action_method_string_extended_list_s "FSS-0003 (Extended List)"
-
-  #define controller_task_action_method_string_extended_s_length      19
-  #define controller_task_action_method_string_extended_list_s_length 24
-
-  enum {
-    controller_task_action_method_extended_e = 1,
-    controller_task_action_method_extended_list_e,
-  };
-
-  typedef struct {
-    f_status_t status;
-    f_array_length_t type;
-    f_array_length_t line;
-
-    f_string_dynamic_t help;
-    f_string_dynamics_t parameters;
-  } controller_task_action_t;
-
-  #define controller_task_action_t_initialize { \
-    F_known_not, \
-    0, \
-    0, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamics_t_initialize, \
-  }
-#endif // _di_controller_task_action_t_
-
-/**
- * The Task Actions.
- *
- * array: An array of Task Actions.
- * size:  Total amount of allocated space.
- * used:  Total number of allocated spaces used.
- */
-#ifndef _di_controller_task_actions_t_
-  typedef struct {
-    controller_task_action_t *array;
-
-    f_array_length_t size;
-    f_array_length_t used;
-  } controller_task_actions_t;
-
-  #define controller_task_actions_t_initialize { \
-    0, \
-    0, \
-    0, \
-  }
-#endif // _di_controller_task_actions_t_
-
-/**
- * A Task structure.
- *
- * controller_task_setting_type_*:
- *   - affinity:    Setting type representing an affinity.
- *   - capability:  Setting type representing a capability.
- *   - cgroup:      Setting type representing a cgroup (control group).
- *   - define:      Setting type representing a define.
- *   - engine:      Setting type representing an engine.
- *   - environment: Setting type representing an environment.
- *   - group:       Setting type representing a group.
- *   - limit:       Setting type representing a limit.
- *   - name:        Setting type representing a name.
- *   - nice:        Setting type representing a nice.
- *   - parameter:   Setting type representing a parameter.
- *   - path:        Setting type representing a path.
- *   - scheduler:   Setting type representing a scheduler.
- *   - user:        Setting type representing a user.
- *
- * controller_task_has_*:
- *   - cgroup:    Has type representing a cgroup (control group).
- *   - group:     Has type representing a group.
- *   - nice:      Has type representing a nice.
- *   - scheduler: Has type representing a scheduler.
- *   - user:      Has type representing a user.
- *
- * affinity:    The cpu affinity to be used when executing the Task.
- * alias:       The distinct ID (machine name) of the Task, such as "service/ssh".
- * arguments:   The arguments (parameters) passed to the Task, which are exposed via the IKI substitution.
- * capability:  The capability setting if the Task "has" a capability.
- * cgroup:      The cgroup (control group) setting if the Task "has" a cgroup (control group).
- * define:      Any defines (environment variables) made available to the Task for IKI substitution or just as environment variables.
- * engine:      The program or path to the program of the scripting engine to use when processing scripts in this Task.
- * environment: All environment variables allowed to be exposed to the Task when processing.
- * group:       The group ID if the Task "has" a group.
- * groups:      A set of group IDs to run the process with (first specified group is the primary group).
- * has:         Bitwise set of "has" codes representing what the Task has.
- * limits:      The cpu/resource limits to use when executing the Task.
- * name:        A human name for the Task (does not have to be distinct), such as "Bash Script".
- * nice:        The niceness value if the Task "has" nice.
- * parameter:   Any parameters made available to the Task for IKI substitution.
- * path:        The path to the Task file.
- * scheduler:   The scheduler setting if the Task "has" a scheduler.
- * state:       The current active/inactive state of the Task.
- * status:      The last returned status of the Task.
- * timestamp:   The timestamp when the Task was last updated.
- * user:        The User ID if the Task "has" a user.
- */
-#ifndef _di_controller_task_t_
-  enum {
-    controller_task_setting_type_affinity_e = 1,
-    controller_task_setting_type_capability_e,
-    controller_task_setting_type_cgroup_e,
-    controller_task_setting_type_define_e,
-    controller_task_setting_type_engine_e,
-    controller_task_setting_type_environment_e,
-    controller_task_setting_type_group_e,
-    controller_task_setting_type_limit_e,
-    controller_task_setting_type_name_e,
-    controller_task_setting_type_nice_e,
-    controller_task_setting_type_parameter_e,
-    controller_task_setting_type_path_e,
-    controller_task_setting_type_scheduler_e,
-    controller_task_setting_type_user_e,
-  };
-
-  // Bitwise codes representing properties on controller_task_t that have been found in the Task file.
-  #define controller_task_has_cgroup_d 0x1
-  #define controller_task_has_environment_d   0x2
-  #define controller_task_has_group_d         0x4
-  #define controller_task_has_nice_d          0x8
-  #define controller_task_has_scheduler_d     0x10
-  #define controller_task_has_user_d          0x20
-
-  typedef struct {
-    f_status_t state;
-    f_status_t status;
-
-    uint8_t has;
-    int nice;
-    uid_t user;
-    gid_t group;
-
-    f_time_spec_t timestamp;
-
-    f_string_dynamic_t alias;
-    f_string_dynamic_t engine;
-    f_string_dynamic_t help;
-    f_string_dynamic_t name;
-    f_string_dynamic_t path;
-
-    f_string_maps_t arguments;
-    f_string_maps_t defines;
-    f_string_maps_t parameters;
-
-    f_string_dynamics_t environment;
-
-    f_int32s_t affinity;
-    f_capability_t capability;
-    f_control_group_t cgroup;
-    f_int32s_t groups;
-    f_limit_sets_t limits;
-    f_execute_scheduler_t scheduler;
-
-    controller_task_actions_t actions;
-  } controller_task_t;
-
-  #define controller_task_t_initialize { \
-    F_none, \
-    F_none, \
-    0, \
-    0, \
-    0, \
-    0, \
-    f_time_spec_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_dynamic_t_initialize, \
-    f_string_maps_t_initialize, \
-    f_string_maps_t_initialize, \
-    f_string_maps_t_initialize, \
-    f_string_dynamics_t_initialize, \
-    f_int32s_t_initialize, \
-    f_capability_t_initialize, \
-    f_control_group_t_initialize, \
-    f_int32s_t_initialize, \
-    f_limit_sets_t_initialize, \
-    f_execute_scheduler_t_initialize, \
-    controller_task_actions_t_initialize, \
-  }
-#endif // _di_controller_task_t_
-
-/**
- * The Tasks.
- *
- * array: An array of Tasks.
- * size:  Total amount of allocated space.
- * used:  Total number of allocated spaces used.
- */
-#ifndef _di_controller_tasks_t_
-  typedef struct {
-    controller_task_t *array;
-
-    f_array_length_t size;
-    f_array_length_t used;
-  } controller_tasks_t;
-
-  #define controller_tasks_t_initialize { \
-    0, \
-    0, \
-    0, \
-  }
-#endif // _di_controller_tasks_t_
-
-/**
- * Fully deallocate all memory for the given Task Action without caring about return status.
- *
- * @param action
- *   The action to deallocate.
- *
- * @see f_string_dynamics_resize()
- */
-#ifndef _di_controller_task_action_delete_simple_
-  extern void controller_task_action_delete_simple(controller_task_action_t * const action) F_attribute_visibility_internal_d;
-#endif // _di_controller_task_action_delete_simple_
-
-/**
- * Fully deallocate all memory for the given Task Actions without caring about return status.
- *
- * @param actions
- *   The task_actions to deallocate.
- *
- * @see f_memory_delete()
- *
- * @see controller_task_action_delete_simple()
- */
-#ifndef _di_controller_task_actions_delete_simple_
-  extern void controller_task_actions_delete_simple(controller_task_actions_t *actions) F_attribute_visibility_internal_d;
-#endif // _di_controller_task_actions_delete_simple_
-
-/**
- * Increase the size of the Task Actions array by the specified amount, but only if necessary.
- *
- * This only increases size if the current used plus amount is greater than the currently allocated size.
- *
- * @param amount
- *   A positive number representing how much to increase the size by.
- * @param actions
- *   The actions to resize.
- *
- * @return
- *   F_none on success.
- *   F_array_too_large (with error bit) if the resulting new size is bigger than the max array length.
- *
- *   Errors (with error bit) from: f_memory_resize().
- */
-#ifndef _di_controller_task_actions_increase_by_
-  extern f_status_t controller_task_actions_increase_by(const f_array_length_t amount, controller_task_actions_t * const actions) F_attribute_visibility_internal_d;
-#endif // _di_controller_task_actions_increase_by_
-
-/**
- * Fully deallocate all memory for the given Rule without caring about return status.
- *
- * @param task
- *   The task to deallocate.
- *
- * @see macro_f_control_group_t_delete_simple()
- * @see macro_f_int32s_t_delete_simple()
- * @see macro_f_limit_sets_t_delete_simple()
- * @see macro_f_string_dynamics_t_delete_simple()
- * @see macro_f_string_maps_t_delete_simple()
- * @see macro_f_thread_condition_t_delete_simple()
- * @see macro_f_thread_mutex_t_delete_simple()
- *
- * @see f_capability_delete()
- * @see f_string_dynamic_resize()
- *
- * @see controller_task_items_delete_simple()
- */
-#ifndef _di_controller_task_delete_simple_
-  extern void controller_task_delete_simple(controller_task_t * const task) F_attribute_visibility_internal_d;
-#endif // _di_controller_task_delete_simple_
-
-/**
- * Fully deallocate all memory for the given Tasks without caring about return status.
- *
- * @param tasks
- *   The tasks to deallocate.
- *
- * @see controller_tasks_resize()
- */
-#ifndef _di_controller_tasks_delete_simple_
-  extern void controller_tasks_delete_simple(controller_tasks_t * const tasks) F_attribute_visibility_internal_d;
-#endif // _di_controller_tasks_delete_simple_
-
-/**
- * Increase the size of the Task array, but only if necessary.
- *
- * If the given length is too large for the buffer, then attempt to set max buffer size (F_array_length_t_size_d).
- * If already set to the maximum buffer size, then the resize will fail.
- *
- * @param tasks
- *   The task array to resize.
- *
- * @return
- *   F_none on success.
- *   F_data_not on success, but there is no reason to increase size (used + controller_common_allocation_small_d <= size).
- *
- *   F_array_too_large (with error bit) if the new array length is too large.
- *   F_memory_not (with error bit) on out of memory.
- *   F_parameter (with error bit) if a parameter is invalid.
- *
- * @see controller_tasks_resize()
- */
-#ifndef _di_controller_tasks_increase_
-  extern f_status_t controller_tasks_increase(controller_tasks_t * const tasks) F_attribute_visibility_internal_d;
-#endif // _di_controller_task_increase_
-
-/**
- * Resize the Task array.
- *
- * @param length
- *   The new size to use.
- * @param tasks
- *   The task array to resize.
- *
- * @return
- *   F_none on success.
- *
- *   F_memory_not (with error bit) on out of memory.
- *   F_parameter (with error bit) if a parameter is invalid.
- *
- * @see f_memory_resize()
- */
-#ifndef _di_controller_tasks_resize_
-  extern f_status_t controller_tasks_resize(const f_array_length_t length, controller_tasks_t * const tasks) F_attribute_visibility_internal_d;
-#endif // _di_controller_tasks_resize_
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _PRIVATE_common_task_h
diff --git a/level_3/controller/c/task/private-task.c b/level_3/controller/c/task/private-task.c
deleted file mode 100644 (file)
index 2436e3d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "../controller.h"
-#include "../common/private-common.h"
-#include "../task/private-task.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
diff --git a/level_3/controller/c/task/private-task.h b/level_3/controller/c/task/private-task.h
deleted file mode 100644 (file)
index 6003dac..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * FLL - Level 3
- *
- * Project: Controller
- * API Version: 0.6
- * Licenses: lgpl-2.1-or-later
- */
-#ifndef _PRIVATE_task_h
-#define _PRIVATE_task_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _PRIVATE_task_h
diff --git a/level_3/controller/c/task/private-task_print.c b/level_3/controller/c/task/private-task_print.c
deleted file mode 100644 (file)
index de1fd02..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "../controller.h"
-#include "../common/private-common.h"
-#include "../task/private-task.h"
-#include "../task/private-task_print.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
diff --git a/level_3/controller/c/task/private-task_print.h b/level_3/controller/c/task/private-task_print.h
deleted file mode 100644 (file)
index d827dca..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * FLL - Level 3
- *
- * Project: Controller
- * API Version: 0.6
- * Licenses: lgpl-2.1-or-later
- */
-#ifndef _PRIVATE_task_print_h
-#define _PRIVATE_task_print_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif // _PRIVATE_task_print_h
index caaeaa19516a00d014f0442f6c9b39a08a835978..b6d111cb7f13412e48f37a2c1a532b4f20e9df3a 100644 (file)
@@ -25,13 +25,12 @@ build_libraries-level -lfll_2 -lfll_1 -lfll_0
 build_libraries-monolithic -lfll
 
 build_sources_library controller.c common.c
-build_sources_library common/private-common.c common/private-cache.c common/private-control.c common/private-entry.c common/private-lock.c common/private-process.c common/private-rule.c common/private-setting.c common/private-task.c common/private-thread.c
+build_sources_library common/private-common.c common/private-cache.c common/private-control.c common/private-entry.c common/private-lock.c common/private-process.c common/private-rule.c common/private-setting.c common/private-thread.c
 build_sources_library control/private-control.c control/private-control_print.c
 build_sources_library controller/private-controller.c controller/private-controller_print.c
 build_sources_library entry/private-entry.c entry/private-entry_print.c
 build_sources_library rule/private-rule.c rule/private-rule_print.c
 build_sources_library process/private-process.c
-build_sources_library task/private-task.c task/private-task_print.c
 build_sources_library lock/private-lock.c lock/private-lock_print.c
 build_sources_library thread/private-thread.c thread/private-thread_control.c thread/private-thread_entry.c thread/private-thread_process.c thread/private-thread_rule.c thread/private-thread_signal.c
 
diff --git a/level_3/controller/data/settings/tasks/system/reboot.task b/level_3/controller/data/settings/tasks/system/reboot.task
deleted file mode 100644 (file)
index 44f3cbd..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-# fss-000d
-#
-# Task for rebooting the system.
-#
-# Todo: the idea here is that the controller program supports time based triggers triggers, which includes having status and being able to be canceled.
-# Todo: Another idea here is reboot is a separate program that goes into the background like a server when given an "in" or "on", has a status, and can be canceled.
-
-setting:
-  name "Reboot System"
-  environment PATH
-  script sh
-
-argument:
-  in time unit
-  on date
-  status
-  cancel
-
-help:
-  This task reboots the system after stopping all controlled processes.
-
-  When no parameters are specified, the reboot happens immediately.
-
-  The following parameters are available:
-    - in [time] [unit]: Reboot after so many units of time have passed.
-    - on [date]: Reboot when a given date and time is reached.
-    - status: Get the current state of the reboot process.
-    - cancel: Cancel the current reboot process, if active.
-
-help in:
-  Reboot after a specified amount of time is reached.
-
-  This acts as a timeout that begins immediately upon execution.
-  Once the timeout is reached, reboot is performed.
-
-  This command requires two additional parameters:
-  1) A whole number representing the time.
-  2) A unit of measurement, which must be one of:
-    - millisecond.
-    - second.
-    - minute.
-    - hour.
-    - day.
-    - week.
-    - month.
-    - year.
-    - gigatime.
-    - megatime.
-    - kilotime.
-    - decatime.
-    - time.
-    - gigaepochtime.
-    - megaepochtime.
-    - kiloepochtime.
-    - decaepochtime.
-    - epochtime.
-
-help on:
-  Reboot when the specified date is reached.
-
-  This acts as a trigger that waits for the given date and time of the system clock to be reached.
-  If the clock is changed to on or after the specified date, this trigger is executed.
-
-  This command requires one additional parameter:
-  1) A date in ISO-8601 format.
-
-  The date must be in ISO-8601 format, which looks like: "2006-08-14T02:34:56-06:00".
-  The timezone offset is optional and if it is not provided, UTC is assumed.
-  TODO: support Time units and date times: "2017:0000".
-
-  Both reboot "on" and reboot "in" may be specified.
-  In which case the first one to happen will result in the reboot.
-
-help status:
-  Get whether the reboot is in progress or not and the current settings, if any.
-
-help cancel:
-  Cancel an existing reboot process, if it is not too late.
-
-script:
-  in {
-    reboot in argument:"time" argument:"unit"
-  }
-
-  on {
-    reboot on argument:"date"
-  }
-
-  status {
-    reboot status
-  }
-
-  cancel {
-    reboot cancel
-  }
diff --git a/level_3/controller/data/settings/tasks/system/shutdown.task b/level_3/controller/data/settings/tasks/system/shutdown.task
deleted file mode 100644 (file)
index 9a51bd9..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-# fss-000d
-#
-# Task for shutting down the system.
-
-setting:
-  name "Shutdown System"
-  environment PATH
-  script sh
-
-argument:
-  in time unit
-  on date
-  status
-  cancel
-
-help:
-  This task shuts down the system after stopping all controlled processes.
-
-  When no parameters are specified, the shutdown happens immediately.
-
-  The following parameters are available:
-    - in [time] [unit]: Shutdown after so many units of time have passed.
-    - on [date]: Shutdown when a given date and time is reached.
-    - status: Get the current state of the shutdown process.
-    - cancel: Cancel the current shutdown process, if active.
-
-help in:
-  Shutdown after a specified amount of time is reached.
-
-  This acts as a timeout that begins immediately upon execution.
-  Once the timeout is reached, shutdown is performed.
-
-  This command requires two additional parameters:
-  1) A whole number representing the time.
-  2) A unit of measurement, which must be one of:
-    - millisecond.
-    - second.
-    - minute.
-    - hour.
-    - day.
-    - week.
-    - month.
-    - year.
-    - gigatime.
-    - megatime.
-    - kilotime.
-    - decatime.
-    - time.
-    - gigaepochtime.
-    - megaepochtime.
-    - kiloepochtime.
-    - decaepochtime.
-    - epochtime.
-
-help on:
-  Shutdown when the specified date is reached.
-
-  This acts as a trigger that waits for the given date and time of the system clock to be reached.
-  If the clock is changed to on or after the specified date, this trigger is executed.
-
-  This command requires one additional parameter:
-  1) A date in ISO-8601 format.
-
-  The date must be in ISO-8601 format, which looks like: "2006-08-14T02:34:56-06:00".
-  The timezone offset is optional and if it is not provided, UTC is assumed.
-  TODO: support Time units and date times: "2017:0000", "2017::0000".
-
-  Both shutdown "on" and shutdown "in" may be specified.
-  In which case the first one to happen will result in the shutdown.
-
-help status:
-  Get whether the shutdown is in progress or not and the current settings, if any.
-
-help cancel:
-  Cancel an existing shutdown process, if it is not too late.
-
-script:
-  in {
-    shutdown in argument:"time" argument:"unit"
-  }
-
-  on {
-    shutdown on argument:"date"
-  }
-
-  status {
-    shutdown status
-  }
-
-  cancel {
-    shutdown cancel
-  }
index 30abeae548b20acd0d0b4255803ef7193b2d3216..9e3f6603fff71ca19c628120ca410e8a3d3baed4 100644 (file)
@@ -13,10 +13,6 @@ Entry Documentation:
   All other Basic List Objects are not executed unless either an "item" or a "failsafe" specifies a valid Item name.
   Execution of all Items are top-down.
 
-  - The "task" item Object\:
-    Represents tasks that are available for calling by some control program.
-    Each task has a name and a path.
-
   - The "setting" item Object\:
     Represents settings and is not an "item" that can be executed.
     A number of settings are supported, but if this Item Object is not specified, then defaults are used.
diff --git a/level_3/controller/documents/task.txt b/level_3/controller/documents/task.txt
deleted file mode 100644 (file)
index 2c7cac6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# fss-0002
-#
-# license: open-standard-license-1.0
-#
-# A "Task" is not fully implemented but is provided as a proposal for consideration and is subject to completion or removal.
-# Ideally, a task will be used to replace hardcoded "init" mode operations like "kexec", "reboot", and "shutdown".
-
-Task Documentation:
-  This describes the intent and purpose of a Task file.
-
-  A Task file, such as "reboot.task", is intended to designate a command for a user-space program, such as "control", to execute.
-
-  The Task file is read top-down, except for the reserved outer most lists "argument", "help", and "setting".
-
-  Similar to a Rule Types, the Task file utilizes Task Types for performing the execution.
-
-  Unlike a Rule Type, the Task Type names are represented by the arguments passed to the task.
-
-  Each Task allows only a single execution instance.
-
-  The task "controller" is reserved for use by the Controller program and provides special commands for manipulating the Controller program.
-  These are:
-    - exit: Stop the Controller program and activate the exit cycle.
-    - rule: Perform a Rule-specific operations, such as starting and stopping a Rule. ([stop|start|etc..] rule [rule_path] [rule_name]).
-    - status: Get information about the Controller, a Task, or a Rule. (status, status rule [rule_path] [rule_name], status task [task_path] [task_name]).
-  When [rule_path] or [task_path] is not specified, all Rules or Tasks already loaded with this name are used.
-
-  The following reserved outer lists are available\:
-    - parameter.
-    - help.
-    - setting.
-
-  The following Task Types are supported:
-    - Command.
-    - Script.
-
-  Arguments describe parameters
-
-  The help outer list represents the message returned when help is requested.