#include "plpbus/BusServer.hh" using namespace std; using namespace plpbus; class ServerListenerImpl : public IServerListener { public: inline ServerListenerImpl() {} virtual ~ServerListenerImpl() {} virtual int request_received(const char *msg_req, char **msg_rsp); virtual int request_received(const BusMessage *msg_req, BusMessage **msg_rsp); }; int ServerListenerImpl::request_received(const char *msg_req_param, char **msg_rsp_param) { cout << "request_received(char *" << msg_req_param << ") " << endl; *msg_rsp_param = strdup("jee"); return 0; } int ServerListenerImpl::request_received(const BusMessage *msg_req_param, BusMessage **msg_rsp_param) { cout << "request_received(BusMessage *) " << endl; *msg_rsp_param = new BusMessage(); double dbl = (double)1.0; (*msg_rsp_param)->add_double_parameter("rsp_param_double", dbl); return 0; } int main(int argc, char** argv) { BusServer *server; ServerListenerImpl *listener; if (argc >= 2) { cout << "starting server" << endl; server = new BusServer(); server->init(); listener = new ServerListenerImpl(); server->add_server_listener(listener); server->launch(argv[1]); } else { cout << "usage: give server name as a parameter" << endl; } return 0; }