X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fdoor_daemon_zmq%2Fhandle_commands.go;h=33db54edb5c9efeea43f7c0d7e5a3afcc021d3cb;hb=067831006ae1dafb4c8def47e7bb1ee935db8dc3;hp=d33070a50430a56c46972476b0954545087fd8d6;hpb=88e758b4025ef2a84acafc7b832a41028280c296;p=svn42.git diff --git a/go/door_daemon_zmq/handle_commands.go b/go/door_daemon_zmq/handle_commands.go index d33070a..33db54e 100644 --- a/go/door_daemon_zmq/handle_commands.go +++ b/go/door_daemon_zmq/handle_commands.go @@ -15,7 +15,7 @@ var cmdToDoorCmdHandler = map[string]DoorCmdHandler { "open": DoorCmdHandler{ checkCmdDoorControl, "o"}, "close": DoorCmdHandler{ checkCmdDoorControl, "c"}, "toggle": DoorCmdHandler{ checkCmdDoorControl, "t"}, - "status": DoorCmdHandler{ checkCmdDoorControl, "s"}, + "status": DoorCmdHandler{ checkCmdNoArgs, "s"}, } // ---------- Command Handling Code ------------- @@ -39,30 +39,27 @@ func checkCmdDoorControl(tokens [][]byte) (error) { return nil } -func checkCmdStatus(tokens [][]byte) (error) { +func checkCmdNoArgs(tokens [][]byte) (error) { if len(tokens) != 1 { - return errors.New("status command does not accept arguments") + return errors.New("command does not accept arguments") } return nil } -func HandleCommand(tokens [][]byte, topub chan <- [][]byte, serial_wr chan string, serial_rd chan [][]byte) ([][]byte, error){ +func HandleCommand(tokens [][]byte, serial_wr chan string, serial_rd chan [][]byte) error { if len(tokens) < 1 { - return nil, errors.New("No Command to handle") + return errors.New("No Command to handle") } - + dch, present := cmdToDoorCmdHandler[string(tokens[0])] if ! present { - return nil, errors.New("Unknown Command") + return errors.New("Unknown Command") } if err := dch.Checker(tokens); err != nil { - //return error to sender - return nil, err + return err } - - topub <- tokens + serial_wr <- dch.FirmwareChar - fw_reply := <- serial_rd - return fw_reply, nil + return nil }