procd: extend shell binding with trigger support

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37157
owl
John Crispin 2013-07-04 13:30:55 +00:00
parent dae7f61f31
commit 6884a8b59d
1 changed files with 32 additions and 0 deletions

View File

@ -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 \