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 ((BusMessage *)msg_rsp_param)->get_type(&type);
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 cout << "event_received(char *" << event_param << ") " << endl;
49 int ClientListenerImpl::event_received(const BusMessage *event_param) {
50 cout << "event_received(BusMessage *)" << endl;
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 cout << "init success" << endl;
67 err_flg = client->add_client_listener(lstnr);
72 busmsg = new BusMessage(MSG_ID_HELLO);
73 busmsg->add_string_parameter("a", "hello");
74 busmsg->add_string_parameter("b", "world");
75 client->send_message_and_request_response(busmsg);
78 err_flg = client->send_message_and_wait_response(argv[2], &rsp);
79 cout << "rsp: " << rsp << endl;
80 err_flg = client->send_message_and_request_response(argv[2]);
82 cout << "request message send successfully" << endl;
87 cout << "client failed to add response listener" << endl;
91 cout << "client failed to init" << endl;
95 cout << "usage: <server_name> <message text>" << endl;