#ifndef __ECHO_CALLBACK_IDL__ #define __ECHO_CALLBACK_IDL__ module plpbus_orb { struct DataItem { string name; any value; string str_value; }; typedef sequence DataItemSequence; interface OrbClient { // send event to orb client void receive_event_message(in string event_param); void receive_event_dataitem_sequence(in DataItemSequence event_param); // send message to orb client void receive_response_message(in string msg_rsp_param); void receive_response_dataitem_sequence(in DataItemSequence msg_rsp_param); }; interface OrbServer { // send message to server and then call back to client void send_message_and_request_response(in OrbClient response_listener_param, in string msg_param); void send_dataitem_message_and_request_response(in OrbClient response_listener_param, in DataItemSequence req_seq_param); // send message to server and wait response string send_message_and_wait_response(in string msg_req_param, out long err_flg); long send_dataitem_message_and_wait_response(in DataItemSequence req_seq_param, out DataItemSequence rsp_seq_param); // register listening events periodically void add_event_listener(in OrbClient callback_client_param, in string msg_param, in unsigned short period_secs); // send shutdown request to server void shutdown(); }; }; #endif