4 * Created on: Jun 9, 2010
9 #include "plpbus/BusServer.hh"
10 #include "plpbus/BusClient.hh"
11 #include "plpbus/BusMessage.hh"
14 using namespace plpbus;
16 #define MSG_ID_HELLO 33
18 class ClientListenerImpl : public IClientListener
21 inline ClientListenerImpl() {}
22 virtual ~ClientListenerImpl() {}
23 virtual int response_received(const char *msg_rsp_param);
24 virtual int response_received(const BusMessage *msg_rsp_param);
25 virtual int event_received(const char *event_param);
26 virtual int event_received(const BusMessage *event_param);
29 int ClientListenerImpl::response_received(const char *msg_rsp_param) {
30 log_debug("response_received(char *%s)\n", msg_rsp_param);
34 int ClientListenerImpl::response_received(const BusMessage *msg_rsp_param) {
38 type = ((BusMessage *)msg_rsp_param)->get_type(&err_flg);
39 log_debug("response_received(), type: %ld\n", type);
40 ((BusMessage *)msg_rsp_param)->printout();
44 int ClientListenerImpl::event_received(const char *event_param) {
45 log_debug("event_received(%s)\n", event_param);
49 int ClientListenerImpl::event_received(const BusMessage *event_param) {
50 log_debug("event_received(BusMessage *)\n");
54 int main(int argc, char** argv)
57 ClientListenerImpl *lstnr;
62 client = new BusClient();
63 lstnr = new ClientListenerImpl();
64 err_flg = client->init(argv[1]);
66 log_debug("init success\n");
67 err_flg = client->add_client_listener(lstnr);
72 bus_msg = new BusMessage(MSG_ID_HELLO);
73 if (bus_msg != NULL) {
74 bus_msg->add_string_parameter("a", "hello");
75 bus_msg->add_string_parameter("b", "world");
76 client->send_message_and_request_response(bus_msg);
79 err_flg = client->send_message_and_wait_response(argv[2], &rsp);
80 log_debug("rsp: %s\n", rsp);
81 err_flg = client->send_message_and_request_response(argv[2]);
83 log_debug("request message send successfully\n");
90 log_error("client failed to add response listener\n");
94 log_error("client failed to init\n");
98 log_info("usage: <server_name> <message text>\n");