Leosac  0.8.0
Open Source Access Control
StdinControllerModule.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014-2016 Leosac
3 
4  This file is part of Leosac.
5 
6  Leosac is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Affero 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  Leosac 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 Affero General Public License for more details.
15 
16  You should have received a copy of the GNU Affero General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
22 #include "modules/BaseModule.hpp"
23 
24 namespace Leosac
25 {
26 namespace Module
27 {
29 {
30 
31  public:
32  StdinControllerModule(zmqpp::context &ctx, zmqpp::socket *pipe,
33  boost::property_tree::ptree const &cfg,
34  CoreUtilsPtr utils);
35 
39  void handleStdin(void);
40 
41 
46  bool send_request(std::shared_ptr<zmqpp::socket> target,
47  const std::vector<std::string> &cmds);
48 
49  private:
50  // map a device name or anything that can be a target for a command to socket
51  // that are connected to it.
52  std::map<std::string, std::shared_ptr<zmqpp::socket>> endpoints_;
53 };
54 }
55 }
Leosac::Module::BaseModule
Base class for module implementation.
Definition: BaseModule.hpp:110
BaseModule.hpp
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Module::StdinControllerModule::handleStdin
void handleStdin(void)
We can read from standard input;.
Definition: StdinControllerModule.cpp:33
Leosac::Module::StdinControllerModule::StdinControllerModule
StdinControllerModule(zmqpp::context &ctx, zmqpp::socket *pipe, boost::property_tree::ptree const &cfg, CoreUtilsPtr utils)
Definition: StdinControllerModule.cpp:24
Leosac::Module::StdinControllerModule
Definition: StdinControllerModule.hpp:28
Leosac::Module::StdinControllerModule::send_request
bool send_request(std::shared_ptr< zmqpp::socket > target, const std::vector< std::string > &cmds)
Send the request to the target and handle the response.
Definition: StdinControllerModule.cpp:72
Leosac::CoreUtilsPtr
std::shared_ptr< CoreUtils > CoreUtilsPtr
Definition: LeosacFwd.hpp:35
Leosac::Module::StdinControllerModule::endpoints_
std::map< std::string, std::shared_ptr< zmqpp::socket > > endpoints_
Definition: StdinControllerModule.hpp:52