/* * test_client.cc * * Created on: Jun 9, 2010 * Author: lamikr */ #include #include #include #include "plpbus/BusServer.hh" #include "plpbus/BusClient.hh" #include "plpbus/BusMessage.hh" using namespace std; using namespace plpbus; #define MSG_ID_HELLO 33 class ClientListenerImpl : public IClientListener { public: inline ClientListenerImpl() {} virtual ~ClientListenerImpl() {} virtual int response_received(const char *msg_rsp_param); virtual int response_received(const BusMessage *msg_rsp_param); virtual int event_received(const char *event_param); virtual int event_received(const BusMessage *event_param); }; int ClientListenerImpl::response_received(const char *msg_rsp_param) { log_debug("response_received(char *%s)\n", msg_rsp_param); return 0; } int ClientListenerImpl::response_received(const BusMessage *msg_rsp_param) { long type; int err_flg; type = ((BusMessage *)msg_rsp_param)->get_type(&err_flg); log_debug("response_received(), type: %ld\n", type); ((BusMessage *)msg_rsp_param)->printout(); return 0; } int ClientListenerImpl::event_received(const char *event_param) { log_debug("event_received(%s)\n", event_param); return 0; } int ClientListenerImpl::event_received(const BusMessage *event_param) { log_debug("event_received(BusMessage *)\n"); return 0; } int main(int argc, char** argv) { BusClient *client; ClientListenerImpl *lstnr; int err_flg; BusMessage *bus_msg; if (argc >= 3) { client = new BusClient(); lstnr = new ClientListenerImpl(); err_flg = client->init(argv[1]); if (err_flg == 0) { log_debug("init success\n"); err_flg = client->add_client_listener(lstnr); if (err_flg == 0) { int err_flg; char *rsp; bus_msg = new BusMessage(MSG_ID_HELLO); if (bus_msg != NULL) { bus_msg->add_string_parameter("a", "hello"); bus_msg->add_string_parameter("b", "world"); client->send_message_and_request_response(bus_msg); rsp = NULL; err_flg = client->send_message_and_wait_response(argv[2], &rsp); log_debug("rsp: %s\n", rsp); free(rsp); err_flg = client->send_message_and_request_response(argv[2]); if (err_flg == 0) { log_debug("request message send successfully\n"); } sleep(5); delete(bus_msg); } } else { log_error("client failed to add response listener\n"); } } else { log_error("client failed to init\n"); } delete(client); delete(lstnr); } else { log_info("usage: \n"); } return 0; }