4 * Created on: Jun 9, 2010
10 #include "plpbus/BusServer.hh"
11 #include "plpbus/BusClient.hh"
12 #include "plpbus/BusMessage.hh"
15 using namespace plpbus;
17 #define MSG_ID_HELLO 33
19 class ClientListenerImpl : public IClientListener
22 inline ClientListenerImpl() {}
23 virtual ~ClientListenerImpl() {}
24 virtual int response_received(const char *msg_rsp_param);
25 virtual int response_received(const BusMessage *msg_rsp_param);
26 virtual int event_received(const char *event_param);
27 virtual int event_received(const BusMessage *event_param);
30 int ClientListenerImpl::response_received(const char *msg_rsp_param) {
31 log_debug("response_received(char *%s)\n", msg_rsp_param);
35 int ClientListenerImpl::response_received(const BusMessage *msg_rsp_param) {
39 type = ((BusMessage *)msg_rsp_param)->get_type(&err_flg);
40 log_debug("response_received(), type: %ld\n", type);
41 ((BusMessage *)msg_rsp_param)->printout();
45 int ClientListenerImpl::event_received(const char *event_param) {
46 log_debug("event_received(%s)\n", event_param);
50 int ClientListenerImpl::event_received(const BusMessage *event_param) {
51 log_debug("event_received(BusMessage *)\n");
55 int main(int argc, char** argv)
58 ClientListenerImpl *lstnr;
63 client = new BusClient();
64 lstnr = new ClientListenerImpl();
65 err_flg = client->init(argv[1]);
67 log_debug("init success\n");
68 err_flg = client->add_client_listener(lstnr);
73 bus_msg = new BusMessage(MSG_ID_HELLO);
74 if (bus_msg != NULL) {
75 bus_msg->add_string_parameter("a", "hello");
76 bus_msg->add_string_parameter("b", "world");
77 client->send_message_and_request_response(bus_msg);
80 err_flg = client->send_message_and_wait_response(argv[2], &rsp);
81 log_debug("rsp: %s\n", rsp);
83 err_flg = client->send_message_and_request_response(argv[2]);
85 log_debug("request message send successfully\n");
92 log_error("client failed to add response listener\n");
96 log_error("client failed to init\n");
102 log_info("usage: <server_name> <message text>\n");