diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 18:15:57 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 18:15:57 +0100 |
| commit | 1ba42445a5a97e1b09fc9671602594d3e3695063 (patch) | |
| tree | 320cc08bb94620a7978ca11a948ecca40b09a6e4 /src/control_interface.cpp | |
| parent | 7d9300894ad1a6e2954332188fe0045e32bc459a (diff) | |
| download | wanda-1ba42445a5a97e1b09fc9671602594d3e3695063.tar.xz wanda-1ba42445a5a97e1b09fc9671602594d3e3695063.zip | |
core: extract message constants
Diffstat (limited to 'src/control_interface.cpp')
| -rw-r--r-- | src/control_interface.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/control_interface.cpp b/src/control_interface.cpp index 92d5def..85d1dca 100644 --- a/src/control_interface.cpp +++ b/src/control_interface.cpp @@ -100,14 +100,20 @@ void control_interface::on_received(control_connection::pointer connection, mess return; } - switch (connection->current_state()) + if (message.source != message_source_controller) { - case control_connection::state::fresh: - if (message.command == "HELLO") - { - connection->send({"D", "HELLO", "1.0.0"}); - connection->update(control_connection::state::established); - } + // TODO: Handle illegal message source + return; + } + + if (auto state = connection->current_state(); message.command == message_command_hello && state == control_connection::state::fresh) + { + connection->send({message_source_daemon, message_command_hello, message_argument_hello}); + connection->update(control_connection::state::established); + } + else + { + // TODO: Handle unexpected message } } |
