22 #ifndef __PLUGINS_OPENPRS_OPENPRS_THREAD_H_ 23 #define __PLUGINS_OPENPRS_OPENPRS_THREAD_H_ 25 #include <core/threading/thread.h> 26 #include <aspect/aspect_provider.h> 27 #include <aspect/logging.h> 28 #include <aspect/clock.h> 29 #include <aspect/configurable.h> 30 #include <aspect/blackboard.h> 31 #include <aspect/blocked_timing.h> 32 #include <plugins/openprs/aspect/openprs_inifin.h> 33 #include <plugins/openprs/aspect/openprs_manager_inifin.h> 37 #include <boost/asio.hpp> 42 class OpenPRSServerProxy;
43 class OpenPRSMessagePasserProxy;
61 virtual void finalize();
67 const std::list<fawkes::AspectIniFin *> inifin_list();
69 void check_deadline(boost::asio::deadline_timer &deadline,
70 boost::asio::ip::tcp::socket &socket);
74 std::string cfg_mp_bin_;
75 std::string cfg_mp_host_;
76 unsigned int cfg_mp_port_;
77 std::string cfg_mp_port_s_;
78 bool cfg_mp_use_proxy_;
79 unsigned int cfg_mp_proxy_port_;
81 std::string cfg_server_bin_;
82 std::string cfg_server_host_;
83 unsigned int cfg_server_port_;
84 std::string cfg_server_port_s_;
85 unsigned int cfg_server_proxy_port_;
86 float cfg_server_timeout_;
87 float cfg_kernel_timeout_;
99 boost::asio::io_service io_service_;
100 std::thread io_service_thread_;
101 boost::asio::ip::tcp::socket server_socket_;
102 boost::asio::deadline_timer deadline_;
Thread aspect to access to BlackBoard.
Thread aspect that allows to obtain the current time from the clock.
Fawkes library namespace.
virtual void run()
Code to execute in the thread.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread class encapsulation of pthreads.
OpenPRSManagerAspect initializer/finalizer.
Thread aspect to use blocked timing.
Thread aspect to log output.
Thread aspect provide a new aspect.
Thread aspect to access configuration data.
Sub-process execution with stdin/stdout/stderr redirection.
Proxy for the OpenPRS server communication.
OpenPRSAspect initializer/finalizer.
OpenPRS environment thread.