Leosac  0.8.0
Open Source Access Control
init.cpp
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 #include "SysFsGpioModule.hpp"
21 #include <boost/property_tree/ptree.hpp>
22 #include <memory>
23 #include <tools/log.hpp>
24 #include <zmqpp/context.hpp>
25 #include <zmqpp/message.hpp>
26 
27 using namespace Leosac::Module::SysFsGpio;
28 
29 extern "C" {
30 const char *get_module_name()
31 {
32  return "SYSFS_GPIO";
33 }
34 }
35 
36 
41 extern "C" __attribute__((visibility("default"))) bool
42 start_module(zmqpp::socket *pipe, boost::property_tree::ptree cfg,
43  zmqpp::context &zmq_ctx, Leosac::CoreUtilsPtr utils)
44 {
45  // this thread need realtime priority so it doesn't miss interrupt.
46  struct sched_param p;
47  p.sched_priority = 90;
48  int ret = pthread_setschedparam(pthread_self(), SCHED_FIFO, &p);
49  if (ret != 0)
50  WARN("Cannot set realtime priority for SysFsGPIO module.");
51  return Leosac::Module::start_module_helper<SysFsGpioModule>(pipe, cfg, zmq_ctx,
52  utils);
53 }
WARN
@ WARN
Definition: log.hpp:33
zmqpp
Definition: CoreUtils.hpp:27
get_module_name
const char * get_module_name()
Definition: init.cpp:26
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
Leosac::Module::SysFsGpio
Namespace for the module that implements GPIO support using the Linux Kernel sysfs interface.
Definition: SysFsGpioConfig.hpp:32
__attribute__
__attribute__((visibility("default"))) bool start_module(zmqpp
Entry point for the auth-db module.
Definition: init.cpp:35
SysFsGpioModule.hpp
log.hpp
Leosac::CoreUtilsPtr
std::shared_ptr< CoreUtils > CoreUtilsPtr
Definition: LeosacFwd.hpp:35