4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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 __EDBUS_HANDLE_H__
21 #define __EDBUS_HANDLE_H__
24 #include "shared/dbus.h"
28 const char *signature;
29 const char *reply_signature;
30 E_DBus_Method_Cb func;
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[]);
46 void edbus_init(void *data);
47 void edbus_exit(void *data);
49 #endif /* __EDBUS_HANDLE_H__ */