From: blogic Date: Thu, 4 Jul 2013 13:30:55 +0000 (+0000) Subject: procd: extend shell binding with trigger support X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=debeea2fbcb11a5962107ff79de8ece93a530dcd procd: extend shell binding with trigger support Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37157 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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 \