Falcon
Loading...
Searching...
No Matches
commandhandler.hpp
1// ---------------------------------------------------------------------
2// This file is part of falcon-core.
3//
4// Copyright (C) 2015, 2016, 2017 Neuro-Electronics Research Flanders
5//
6// Falcon-server is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10//
11// Falcon-server is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15//
16// You should have received a copy of the GNU General Public License
17// along with falcon-core. If not, see <http://www.gnu.org/licenses/>.
18// ---------------------------------------------------------------------
19
20#pragma once
21
22#include <deque>
23#include <string>
24#include <vector>
25
26#include "commandsource.hpp"
27#include "context.hpp"
28
29namespace commands {
30
31class CommandHandler {
32 public:
33 CommandHandler(GlobalContext& context) { global_context_ = &context; }
34
42 void addSource(CommandSource& source) { sources_.push_back(&source); }
43
52 bool HandleCommand(std::deque<std::string>& command, std::deque<std::string>& reply);
61 bool DelegateGraphCommand(std::deque<std::string>& command, std::deque<std::string>& reply);
62
70 bool DelegateResourcesCommand(std::deque<std::string>& command, std::deque<std::string>& reply);
71
76 void start();
77
78 private:
79 typedef std::vector<CommandSource*> VectSources;
80 VectSources sources_;
81 GlobalContext* global_context_;
82 zmq::socket_t* graph_socket_;
83};
84} // namespace commands
Definition context.hpp:54
bool DelegateGraphCommand(std::deque< std::string > &command, std::deque< std::string > &reply)
Definition commandhandler.cpp:31
void start()
Definition commandhandler.cpp:164
bool DelegateResourcesCommand(std::deque< std::string > &command, std::deque< std::string > &reply)
Definition commandhandler.cpp:41
void addSource(CommandSource &source)
Definition commandhandler.hpp:42
bool HandleCommand(std::deque< std::string > &command, std::deque< std::string > &reply)
Definition commandhandler.cpp:86
Definition commandsource.hpp:30