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);
55 void multicast_message(std::vector<const char *> &recipients,
const char *message);
57 void send_message(
const std::string &recipient,
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, ...);
63 void multicast_message_f(
const std::vector<std::string> &recipients,
const char *format, ...);
66 void transmit_command(
const std::string &recipient,
const std::string &message);
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_;
virtual ~OpenPRSComm()
Destructor.
OpenPRS communication wrapper.
Fawkes library namespace.
boost::signals2::signal< void(std::string, std::string)> signal_msg_rcvd_type
Boost signal for a received message.
void multicast_message_f(const std::vector< std::string > &recipients, const char *format,...)
Send a message to multiple OpenPRS kernel.
void transmit_command(const char *recipient, const char *message)
Transmit a command to an OpenPRS kernel.
signal_msg_rcvd_type & signal_msg_rcvd()
Signal that is invoked when a message has been received.
void broadcast_message(const char *message)
Send a message to all OpenPRS kernels.
void send_message_f(const std::string &recipient, const char *format,...)
Send a formatted message to an OpenPRS kernel.
const std::string & name() const
Get OpenPRS local name.
void broadcast_message_f(const char *format,...)
Send a formatted message to all OpenPRS kernels.
void transmit_command_f(const std::string &recipient, const char *format,...)
Transmit a command to an OpenPRS kernel.
void multicast_message(std::vector< const char *> &recipients, const char *message)
Send a message to multiple OpenPRS kernel.
void send_message(const char *recipient, const char *message)
Send a message to an OpenPRS kernel.
OpenPRSComm(const char *local_name, const char *hostname, unsigned short port, OpenPRSServerProxy *server_proxy, Logger *logger=NULL)
Constructor.