Initialize Tizen 2.3
[framework/system/coord.git] / src / core / edbus-handler.h
1 /*
2  * coord
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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 __EDBUS_HANDLE_H__
21 #define __EDBUS_HANDLE_H__
22
23 #include <E_DBus.h>
24 #include "shared/dbus.h"
25
26 struct edbus_method {
27         const char *member;
28         const char *signature;
29         const char *reply_signature;
30         E_DBus_Method_Cb func;
31 };
32
33 int register_edbus_method(const char *path, const struct edbus_method *edbus_methods, int size);
34 int unregister_edbus_signal_handler(const char *interface, const char *name, E_DBus_Signal_Cb cb);
35 int register_edbus_signal_handler(const char *path, const char *interface,
36                 const char *name, E_DBus_Signal_Cb cb);
37 void register_edbus_method_handler(const char *dest, const char *path, const char *interface,
38                 const char *method, E_DBus_Method_Return_Cb cb);
39 E_DBus_Interface *get_edbus_interface(const char *path);
40 pid_t get_edbus_sender_pid(DBusMessage *msg);
41 int send_edbus_message(const char* dest, const char *path, const char *interface,
42                 const char *method, const char *sig, char *param[]);
43 int broadcast_edbus_signal(const char *path, const char *interface,
44                 const char *name, const char *sig, char *param[]);
45
46 void edbus_init(void *data);
47 void edbus_exit(void *data);
48
49 #endif /* __EDBUS_HANDLE_H__ */