4 * Copyright (c) 2012 - 2016 Samsung Electronics Co., Ltd. All rights reserved.
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #ifndef __PIMS_IPC_H__
21 #define __PIMS_IPC_H__
23 #include <pims-ipc-types.h>
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);
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);
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 */
57 #endif /*__PIMS_IPC_H__*/