diff options
author | John Crispin <john@openwrt.org> | 2013-07-04 13:30:55 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2013-07-04 13:30:55 +0000 |
commit | 6884a8b59d07b86d416058bc1c4b2c738f452066 (patch) | |
tree | 42a4ff3cac0eab8f865a8c309352848d7e2013ea | |
parent | dae7f61f31b91a50c4bc7657e4d78282cd11e913 (diff) | |
download | upstream-6884a8b59d07b86d416058bc1c4b2c738f452066.tar.gz upstream-6884a8b59d07b86d416058bc1c4b2c738f452066.tar.bz2 upstream-6884a8b59d07b86d416058bc1c4b2c738f452066.zip |
procd: extend shell binding with trigger support
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 37157
-rw-r--r-- | package/system/procd/files/procd.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index e771e0c156..3f1311ca87 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -109,6 +109,10 @@ _procd_open_instance() { json_add_object "$name" } +_procd_open_trigger() { + json_add_array "triggers" +} + _procd_set_param() { local type="$1"; shift @@ -125,6 +129,27 @@ _procd_set_param() { esac } +_procd_add_config_trigger() { + json_add_array + _procd_add_array_data "config.change" + + json_add_array + _procd_add_array_data "if" + + json_add_array + _procd_add_array_data "eq" "package" "$1" + shift + json_close_array + + json_add_array + _procd_add_array_data "run_script" "$@" + json_close_array + + json_close_array + + json_close_array +} + _procd_append_param() { local type="$1"; shift @@ -144,6 +169,10 @@ _procd_close_instance() { json_close_object } +_procd_close_trigger() { + json_close_array +} + _procd_add_instance() { _procd_open_instance _procd_set_command "$@" @@ -164,6 +193,9 @@ _procd_wrapper \ procd_open_service \ procd_close_service \ procd_add_instance \ + procd_add_config_trigger \ + procd_open_trigger \ + procd_close_trigger \ procd_open_instance \ procd_close_instance \ procd_set_param \ |