__key_value: --onchange parameter added

(cherry picked from commit a7881414ef5cef7cd5e92b5710f0c3bc23505c6c)
This commit is contained in:
kamila 2018-03-11 11:36:25 +01:00
parent b58cb810ac
commit 5ad85d1d1e
3 changed files with 13 additions and 3 deletions

View File

@ -23,13 +23,14 @@
state_should="$(cat "$__object/parameter/state")" state_should="$(cat "$__object/parameter/state")"
state_is="$(cat "$__object/explorer/state")" state_is="$(cat "$__object/explorer/state")"
fire_onchange=''
if [ "$state_is" = "$state_should" ]; then if [ "$state_is" = "$state_should" ]; then
exit 0 exit 0
fi fi
# here we check only if the states are valid, # here we check only if the states are valid,
# emmit messages and # emit messages and
# let awk do the work ... # let awk do the work ...
case "$state_should" in case "$state_should" in
absent) absent)
@ -39,6 +40,7 @@ case "$state_should" in
;; ;;
wrongformat|wrongvalue|present) wrongformat|wrongvalue|present)
echo "remove" >> "$__messages_out" echo "remove" >> "$__messages_out"
fire_onchange=1
;; ;;
*) *)
echo "Unknown explorer state: $state_is" >&2 echo "Unknown explorer state: $state_is" >&2
@ -50,12 +52,15 @@ case "$state_should" in
case "$state_is" in case "$state_is" in
nosuchfile) nosuchfile)
echo "create" >> "$__messages_out" echo "create" >> "$__messages_out"
fire_onchange=1
;; ;;
absent) absent)
echo "insert" >> "$__messages_out" echo "insert" >> "$__messages_out"
fire_onchange=1
;; ;;
wrongformated|wrongvalue) wrongformated|wrongvalue)
echo "change" >> "$__messages_out" echo "change" >> "$__messages_out"
fire_onchange=1
;; ;;
present) present)
# nothing to do # nothing to do
@ -67,9 +72,13 @@ case "$state_should" in
esac esac
;; ;;
*) *)
echo "Unknown state: $state_should" >&2 echo "Unknown state: $state_should" >&2
exit 1 exit 1
;; ;;
esac esac
cat "$__type/files/remote_script.sh" cat "$__type/files/remote_script.sh"
if [ -n "$fire_onchange" ]; then
cat "$__object/parameter/onchange"
fi

View File

@ -2,3 +2,4 @@ key
value value
state state
comment comment
onchange