]> pilppa.org Git - libplpbus.git/blob - src_test/test_client.cc
initial version
[libplpbus.git] / src_test / test_client.cc
1 /*
2  * test_client.cc
3  *
4  *  Created on: Jun 9, 2010
5  *      Author: lamikr
6  */
7
8 #include "plpbus/BusServer.hh"
9 #include "plpbus/BusClient.hh"
10 #include "plpbus/BusMessage.hh"
11
12 using namespace std;
13 using namespace plpbus;
14
15 class ClientListenerImpl : public IClientListener
16 {
17         public:
18                 inline ClientListenerImpl() {}
19                 virtual ~ClientListenerImpl() {}
20                 virtual int response_received(const char *msg_rsp_param);
21                 virtual int response_received(const BusMessage *msg_rsp_param);
22                 virtual int event_received(const char *event_param);
23                 virtual int event_received(const BusMessage *event_param);
24 };
25
26 int ClientListenerImpl::response_received(const char *msg_rsp_param) {
27         cout << "response_received(char *: " << msg_rsp_param << ") " << endl;
28         return 0;
29 }
30
31 int ClientListenerImpl::response_received(const BusMessage *msg_rsp_param) {
32         cout << "response_received(BusMessage *) " << endl;
33         return 0;
34 }
35
36 int ClientListenerImpl::event_received(const char *event_param) {
37         cout << "event_received(char *" << event_param << ") " << endl;
38         return 0;
39 }
40
41 int ClientListenerImpl::event_received(const BusMessage *event_param) {
42         cout << "event_received(BusMessage *)" << endl;
43         return 0;
44 }
45
46 int main(int argc, char** argv)
47 {
48         BusClient               *client;
49         ClientListenerImpl      *lstnr;
50         int                     err_flg;
51         BusMessage              *busmsg;
52
53         if (argc >= 3) {
54                 client  = new BusClient();
55                 lstnr   = new ClientListenerImpl();
56                 err_flg = client->init(argv[1]);
57                 if (err_flg == 0) {
58                         cout << "init success" << endl;
59                         err_flg = client->add_client_listener(lstnr);
60                         if (err_flg == 0) {
61                                 int     err_flg;
62                                 char    *rsp;
63
64                                 busmsg  = new BusMessage();
65                                 busmsg->add_string_parameter("a", "hello");
66                                 busmsg->add_string_parameter("b", "world");
67                                 client->send_message_and_request_response(busmsg);
68
69                                 rsp     = NULL;
70                                 err_flg = client->send_message_and_wait_response(argv[2], &rsp);
71                                 cout << "rsp: " << rsp << endl;
72                                 err_flg = client->send_message_and_request_response(argv[2]);
73                                 if (err_flg == 0) {
74                                         cout << "request message send successfully"  << endl;
75                                 }
76                                 sleep(10);
77                         }
78                         else {
79                                 cout << "client failed to add response listener"  << endl;
80                         }
81                 }
82                 else {
83                         cout << "client failed to init"  << endl;
84                 }
85         }
86         else {
87                 cout << "usage: <server_name> <message text>"  << endl;
88         }
89         return 0;
90 }