change poll() timeout to -1 for power saving
[platform/core/pim/pims-ipc.git] / include / pims-ipc.h
1 /*
2  * PIMS IPC
3  *
4  * Copyright (c) 2012 - 2016 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the License);
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19
20 #ifndef __PIMS_IPC_H__
21 #define __PIMS_IPC_H__
22
23 #include <pims-ipc-types.h>
24
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif
29
30 pims_ipc_h pims_ipc_create(char *service);
31 void pims_ipc_destroy(pims_ipc_h ipc);
32 int pims_ipc_call(pims_ipc_h ipc, char *module, char *function, pims_ipc_data_h data_in,
33                 pims_ipc_data_h *data_out);
34 int pims_ipc_call_async(pims_ipc_h ipc, char *module, char *function,
35                 pims_ipc_data_h data_in, pims_ipc_call_async_cb callback, void *user_data);
36 int pims_ipc_is_call_in_progress(pims_ipc_h ipc);
37
38 pims_ipc_h pims_ipc_create_for_subscribe(char *service);
39 void pims_ipc_destroy_for_subscribe(pims_ipc_h ipc);
40 int pims_ipc_subscribe(pims_ipc_h ipc, char *module, char *event,
41                 pims_ipc_subscribe_cb callback, void *user_data);
42 int pims_ipc_unsubscribe(pims_ipc_h ipc, char *module, char *event);
43 int pims_ipc_add_server_disconnected_cb(pims_ipc_h ipc,
44                 pims_ipc_server_disconnected_cb callback, void *user_data);
45 int pims_ipc_remove_server_disconnected_cb(pims_ipc_h ipc);
46
47 /* start deprecated */
48 int pims_ipc_set_server_disconnected_cb(pims_ipc_server_disconnected_cb callback, void *user_data); /* use pims_ipc_add_server_disconnected_cb */
49 int pims_ipc_unset_server_disconnected_cb(); /* use pims_ipc_remove_server_disconnected_cb */
50 /* end deprecated */
51
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /*__PIMS_IPC_H__*/
58