]> pilppa.org Git - libplpbus.git/blob - src/idl/RequestResponseBus.idl
memory leak fixes
[libplpbus.git] / src / idl / RequestResponseBus.idl
1 #ifndef __ECHO_CALLBACK_IDL__
2 #define __ECHO_CALLBACK_IDL__
3
4 module plpbus_orb {
5         struct DataItem {
6                 string name;
7                 any value;
8                 string str_value;
9         };
10         
11         typedef sequence<DataItem> DataItemSequence;
12
13         interface OrbClient {
14                 // send event to orb client
15                 void receive_event_message(in string event_param);
16                 void receive_event_dataitem_sequence(in DataItemSequence event_param);
17                 // send message to orb client
18                 void receive_response_message(in string msg_rsp_param);
19                 void receive_response_dataitem_sequence(in DataItemSequence msg_rsp_param);
20         };
21
22         interface OrbServer {
23                 // send message to server and then call back to client
24                 void send_message_and_request_response(in OrbClient response_listener_param, in string msg_param);
25                 void send_dataitem_message_and_request_response(in OrbClient response_listener_param, in DataItemSequence req_seq_param);
26                 
27                 // send message to server and wait response
28                 string send_message_and_wait_response(in string msg_req_param, out long err_flg);
29                 long send_dataitem_message_and_wait_response(in DataItemSequence req_seq_param, out DataItemSequence rsp_seq_param);
30                 
31                 // register listening events periodically
32                 void add_event_listener(in OrbClient callback_client_param,
33                                 in string msg_param,
34                                 in unsigned short period_secs);
35                 // send shutdown request to server
36                 void shutdown();
37         };
38 };
39
40 #endif