4 * Created on: Jun 9, 2010
12 #include "plpbus/BusServer.hh"
13 #include "plpbus/BusClient.hh"
14 #include "plpbus/BusMessage.hh"
17 using namespace plpbus;
19 #define MSG_ID_HELLO 33
21 class ClientListenerImpl : public IClientListener
24 inline ClientListenerImpl() {}
25 virtual ~ClientListenerImpl() {}
26 virtual int response_received(const char *msg_rsp_param);
27 virtual int response_received(const BusMessage *msg_rsp_param);
28 virtual int event_received(const char *event_param);
29 virtual int event_received(const BusMessage *event_param);
32 int ClientListenerImpl::response_received(const char *msg_rsp_param) {
33 log_debug("response_received(char *%s)\n", msg_rsp_param);
37 int ClientListenerImpl::response_received(const BusMessage *msg_rsp_param) {
41 type = ((BusMessage *)msg_rsp_param)->get_type(&err_flg);
42 log_debug("response_received(), type: %ld\n", type);
43 ((BusMessage *)msg_rsp_param)->printout();
47 int ClientListenerImpl::event_received(const char *event_param) {
48 log_debug("event_received(%s)\n", event_param);
52 int ClientListenerImpl::event_received(const BusMessage *event_param) {
53 log_debug("event_received(BusMessage *)\n");
57 int main(int argc, char** argv)
60 ClientListenerImpl *lstnr;
65 client = new BusClient();
66 lstnr = new ClientListenerImpl();
67 err_flg = client->init(argv[1]);
69 log_debug("init success\n");
70 err_flg = client->add_client_listener(lstnr);
75 bus_msg = new BusMessage(MSG_ID_HELLO);
76 if (bus_msg != NULL) {
77 bus_msg->add_string_parameter("a", "hello");
78 bus_msg->add_string_parameter("b", "world");
79 client->send_message_and_request_response(bus_msg);
82 err_flg = client->send_message_and_wait_response(argv[2], &rsp);
83 log_debug("rsp: %s\n", rsp);
85 err_flg = client->send_message_and_request_response(argv[2]);
87 log_debug("request message send successfully\n");
94 log_error("client failed to add response listener\n");
98 log_error("client failed to init\n");
104 log_info("usage: <server_name> <message text>\n");