23 #ifndef __PLUGINS_OPENPRS_ASPECT_OPENPRS_COMM_H_ 24 #define __PLUGINS_OPENPRS_ASPECT_OPENPRS_COMM_H_ 30 #include <boost/asio.hpp> 31 #include <boost/signals2.hpp> 38 class OpenPRSServerProxy;
44 OpenPRSComm(
const char *local_name,
const char *hostname,
unsigned short port,
50 const std::string &
name()
const 53 void send_message(
const char *recipient,
const char *message);
54 void broadcast_message(
const char *message);
55 void multicast_message(std::vector<const char *> &recipients,
const char *message);
57 void send_message(
const std::string &recipient,
const std::string &message);
58 void broadcast_message(
const std::string &message);
59 void multicast_message(
const std::vector<std::string> &recipients,
const std::string &message);
61 void send_message_f(
const std::string &recipient,
const char *format, ...);
62 void broadcast_message_f(
const char *format, ...);
63 void multicast_message_f(
const std::vector<std::string> &recipients,
const char *format, ...);
65 void transmit_command(
const char *recipient,
const char *message);
66 void transmit_command(
const std::string &recipient,
const std::string &message);
67 void transmit_command_f(
const std::string &recipient,
const char *format, ...);
71 boost::signals2::signal<void (std::string, std::string)>
82 void handle_recv(
const boost::system::error_code &err);
83 std::string read_string_from_socket(boost::asio::posix::stream_descriptor &socket);
87 const std::string name_;
92 boost::asio::io_service io_service_;
93 std::thread io_service_thread_;
94 boost::asio::io_service::work io_service_work_;
95 boost::asio::posix::stream_descriptor sd_mp_socket_;
97 signal_msg_rcvd_type sig_rcvd_;
OpenPRS communication wrapper.
Fawkes library namespace.
boost::signals2::signal< void(std::string, std::string)> signal_msg_rcvd_type
Boost signal for a received message.
signal_msg_rcvd_type & signal_msg_rcvd()
Signal that is invoked when a message has been received.
const std::string & name() const
Get OpenPRS local name.