4 * Copyright (c) 2012 - 2013 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.
25 #include <glib-unix.h>
26 #include <gio/gunixfdlist.h>
33 #define XXX_BUS_NAME "org.tizen.system.XXX"
34 #define XXX_OBJECT_PATH "/Org/Tizen/System/XXX"
35 #define XXX_INTERFACE_NAME XXX_BUS_NAME
36 #define XXX_PATH_YYY XXX_OBJECT_PATH"/YYY"
37 #define XXX_INTERFACE_YYY XXX_INTERFACE_NAME".YYY"
38 #define XXX_SIGNAL_ZZZ "ZZZ"
39 #define XXX_METHOD_ZZZ "ZZZ"
42 /*******************************************************************************
46 ******************************************************************************/
47 #define DBUS_BUS_NAME "org.freedesktop.DBus"
48 #define DBUS_OBJECT_PATH "/org/freedesktop/DBus"
49 #define DBUS_INTERFACE_NAME DBUS_BUS_NAME
51 /*******************************************************************************
53 * System daemon (systemd)
55 ******************************************************************************/
56 #define SYSTEMD_DBUS_PATH "/org/freedesktop/systemd1"
57 #define SYSTEMD_DBUS_DEST "org.freedesktop.systemd1"
58 #define SYSTEMD_DBUS_IFACE_MANAGER SYSTEMD_DBUS_DEST ".Manager"
59 #define SYSTEMD_DBUS_SIGNAL_SYSTEM_STARTUP_FINISHED "StartupFinished"
61 /*******************************************************************************
63 * Device daemon (deviced)
65 ******************************************************************************/
66 #define DEVICED_BUS_NAME "org.tizen.system.deviced"
67 #define DEVICED_OBJECT_PATH "/Org/Tizen/System/DeviceD"
68 #define DEVICED_INTERFACE_NAME DEVICED_BUS_NAME
69 /* Core service: get/set device status operations about device */
70 #define DEVICED_PATH_CORE DEVICED_OBJECT_PATH"/Core"
71 #define DEVICED_INTERFACE_CORE DEVICED_INTERFACE_NAME".core"
72 /* Display service: start/stop display(pm), get/set brightness operations about display */
73 #define DEVICED_PATH_DISPLAY DEVICED_OBJECT_PATH"/Display"
74 #define DEVICED_INTERFACE_DISPLAY DEVICED_INTERFACE_NAME".display"
75 /* Pass service: start/stop pass operations about pass */
76 #define DEVICED_PATH_PASS DEVICED_OBJECT_PATH"/Pass"
77 #define DEVICED_INTERFACE_PASS DEVICED_INTERFACE_NAME".pass"
78 /* Power service: set resetkey disable operations about power */
79 #define DEVICED_PATH_POWER DEVICED_OBJECT_PATH"/Power"
80 #define DEVICED_INTERFACE_POWER DEVICED_INTERFACE_NAME".power"
81 /* Low Power service: start/stop low power mode */
82 #define DEVICED_PATH_LOWPOWER DEVICED_OBJECT_PATH"/LowPower"
83 #define DEVICED_INTERFACE_LOWPOWER DEVICED_INTERFACE_NAME".lowpower"
84 /* Storage service: get storage size operatioins about storage */
85 #define DEVICED_PATH_STORAGE DEVICED_OBJECT_PATH"/Storage"
86 #define DEVICED_INTERFACE_STORAGE DEVICED_INTERFACE_NAME".storage"
87 /* ODE service: request ode popup result operatioins about storage */
88 #define DEVICED_PATH_SDE DEVICED_OBJECT_PATH"/Sde"
89 #define DEVICED_INTERFACE_SDE DEVICED_INTERFACE_NAME".sde"
90 #define DEVICED_PATH_ODE DEVICED_OBJECT_PATH"/Ode"
91 #define DEVICED_INTERFACE_ODE DEVICED_INTERFACE_NAME".ode"
92 /* Poweroff service: request power off operation or get power off status operations about Poweroff(signal) */
93 #define DEVICED_PATH_POWEROFF DEVICED_OBJECT_PATH"/PowerOff"
94 #define DEVICED_INTERFACE_POWEROFF DEVICED_INTERFACE_NAME".PowerOff"
95 /* Led service: play/stop led operations about led */
96 #define DEVICED_PATH_LED DEVICED_OBJECT_PATH"/Led"
97 #define DEVICED_INTERFACE_LED DEVICED_INTERFACE_NAME".Led"
98 /* Process service: operations about process */
99 #define DEVICED_PATH_PROCESS DEVICED_OBJECT_PATH"/Process"
100 #define DEVICED_INTERFACE_PROCESS DEVICED_INTERFACE_NAME".Process"
101 /* Key service: operations about key */
102 #define DEVICED_PATH_KEY DEVICED_OBJECT_PATH"/Key"
103 #define DEVICED_INTERFACE_KEY DEVICED_INTERFACE_NAME".Key"
104 /* USB client service: change usb connection mode */
105 #define DEVICED_PATH_USB DEVICED_OBJECT_PATH"/Usb"
106 #define DEVICED_INTERFACE_USB DEVICED_INTERFACE_NAME".Usb"
107 /* USB start/stop service: operations about usb start/stop */
108 #define DEVICED_PATH_USB_CONTROL DEVICED_OBJECT_PATH"/UsbControl"
109 #define DEVICED_INTERFACE_USB_CONTROL DEVICED_INTERFACE_NAME".UsbControl"
110 /* USB host service: operations about usb start/stop */
111 #define DEVICED_PATH_USBHOST DEVICED_OBJECT_PATH"/Usbhost"
112 #define DEVICED_INTERFACE_USBHOST DEVICED_INTERFACE_NAME".Usbhost"
113 /* Sysnoti service */
114 #define DEVICED_PATH_SYSNOTI DEVICED_OBJECT_PATH"/SysNoti"
115 #define DEVICED_INTERFACE_SYSNOTI DEVICED_INTERFACE_NAME".SysNoti"
117 #define DEVICED_PATH_EXTCON DEVICED_OBJECT_PATH"/ExtCon"
118 #define DEVICED_INTERFACE_EXTCON DEVICED_INTERFACE_NAME".ExtCon"
119 /* Battery service */
120 #define DEVICED_PATH_BATTERY DEVICED_OBJECT_PATH"/Battery"
121 #define DEVICED_INTERFACE_BATTERY DEVICED_INTERFACE_NAME".Battery"
123 #define DEVICED_PATH_TIME DEVICED_OBJECT_PATH"/Time"
124 #define DEVICED_INTERFACE_TIME DEVICED_INTERFACE_NAME".Time"
126 #define DEVICED_PATH_IR DEVICED_OBJECT_PATH"/Ir"
127 #define DEVICED_INTERFACE_IR DEVICED_INTERFACE_NAME".ir"
128 /* USB_HOST_TEST service */
129 #define DEVICED_PATH_USB_HOST_TEST DEVICED_OBJECT_PATH"/UsbHostTest"
130 #define DEVICED_INTERFACE_USB_HOST_TEST DEVICED_INTERFACE_NAME".UsbHostTest"
132 /* HDMICEC service: status check about gpio */
133 #define DEVICED_PATH_HDMICEC DEVICED_OBJECT_PATH"/HdmiCec"
134 #define DEVICED_INTERFACE_HDMICEC DEVICED_INTERFACE_NAME".HdmiCec"
136 /* Tzip service: Archive file system */
137 #define DEVICED_PATH_TZIP DEVICED_OBJECT_PATH"/Tzip"
138 #define DEVICED_INTERFACE_TZIP DEVICED_INTERFACE_NAME".Tzip"
141 #define DEVICED_PATH_TOUCH DEVICED_OBJECT_PATH"/Touch"
142 #define DEVICED_INTERFACE_TOUCH DEVICED_INTERFACE_NAME".Touch"
144 /* Thermal service: operatioins about temperature */
145 #define DEVICED_PATH_TEMPERATURE DEVICED_OBJECT_PATH"/Temperature"
146 #define DEVICED_INTERFACE_TEMPERATURE DEVICED_INTERFACE_NAME".temperature"
148 /*******************************************************************************
150 * Storage daemon (storaged)
152 ******************************************************************************/
153 #define STORAGED_BUS_NAME "org.tizen.system.storage"
154 #define STORAGED_OBJECT_PATH "/Org/Tizen/System/Storage"
155 #define STORAGED_INTERFACE_NAME STORAGED_BUS_NAME
158 #define STORAGED_PATH_BLOCK STORAGED_OBJECT_PATH"/Block"
159 #define STORAGED_PATH_BLOCK_MANAGER STORAGED_PATH_BLOCK"/Manager"
160 #define STORAGED_INTERFACE_BLOCK_MANAGER STORAGED_INTERFACE_NAME".BlockManager"
162 /* Storage service: get storage size operatioins about storage */
163 #define STORAGED_PATH_STORAGE STORAGED_OBJECT_PATH"/Storage"
164 #define STORAGED_INTERFACE_STORAGE STORAGED_INTERFACE_NAME".storage"
166 /* Lowmem service: get critical low status operations about Lowmem */
167 #define STORAGED_PATH_LOWMEM STORAGED_OBJECT_PATH"/Lowmem"
168 #define STORAGED_INTERFACE_LOWMEM STORAGED_INTERFACE_NAME".lowmem"
171 /*******************************************************************************
175 ******************************************************************************/
176 #define VIBRATOR_BUS_NAME "org.tizen.system.vibrator"
177 #define VIBRATOR_OBJECT_PATH "/Org/Tizen/System/Vibrator"
178 #define VIBRATOR_INTERFACE_NAME VIBRATOR_BUS_NAME
179 /* Core service: get/set device status operations about device */
180 #define VIBRATOR_PATH_CORE VIBRATOR_OBJECT_PATH"/Core"
181 #define VIBRATOR_INTERFACE_CORE VIBRATOR_INTERFACE_NAME".core"
183 #define VIBRATOR_PATH_HAPTIC VIBRATOR_OBJECT_PATH"/Haptic"
184 #define VIBRATOR_INTERFACE_HAPTIC VIBRATOR_INTERFACE_NAME".haptic"
189 #define RESOURCED_BUS_NAME "org.tizen.resourced"
190 #define RESOURCED_OBJECT_PATH "/Org/Tizen/ResourceD"
191 #define RESOURCED_INTERFACE_NAME RESOURCED_BUS_NAME
193 #define RESOURCED_PATH_PROCESS RESOURCED_OBJECT_PATH"/Process"
194 #define RESOURCED_INTERFACE_PROCESS RESOURCED_INTERFACE_NAME".process"
195 #define RESOURCED_METHOD_ACTIVE "Active"
197 #define RESOURCED_PATH_FREEZER RESOURCED_OBJECT_PATH"/Freezer"
198 #define RESOURCED_INTERFACE_FREEZER RESOURCED_INTERFACE_NAME".freezer"
200 #define RESOURCED_PATH_SLUGGISH RESOURCED_OBJECT_PATH"/Sluggish"
201 #define RESOURCED_INTERFACE_SLUGGISH RESOURCED_INTERFACE_NAME".sluggish"
202 #define RESOURCED_SIGNAL_SLUGGISH "SluggishDetected"
204 #define RESOURCED_PATH_LOGGING RESOURCED_OBJECT_PATH"/Logging"
205 #define RESOURCED_INTERFACE_LOGGING RESOURCED_INTERFACE_NAME".logging"
209 #define POPUP_BUS_NAME "org.tizen.system.popup"
210 #define POPUP_OBJECT_PATH "/Org/Tizen/System/Popup"
211 #define POPUP_INTERFACE_NAME POPUP_BUS_NAME
213 #define POPUP_PATH_LED POPUP_OBJECT_PATH"/Led"
214 #define POPUP_INTERFACE_LED POPUP_INTERFACE_NAME".Led"
216 #define POPUP_PATH_SYSTEM POPUP_OBJECT_PATH"/System"
217 #define POPUP_INTERFACE_SYSTEM POPUP_INTERFACE_NAME".System"
219 #define POPUP_PATH_NOTI POPUP_OBJECT_PATH"/Noti"
220 #define POPUP_INTERFACE_NOTI POPUP_INTERFACE_NAME".Noti"
221 /* Power key longpress */
222 #define POPUP_PATH_POWERKEY POPUP_OBJECT_PATH"/Powerkey"
223 #define POPUP_INTERFACE_POWERKEY POPUP_INTERFACE_NAME".Powerkey"
225 #define POPUP_PATH_LOWBAT POPUP_OBJECT_PATH"/Lowbat"
226 #define POPUP_INTERFACE_LOWBAT POPUP_INTERFACE_NAME".Lowbat"
228 #define POPUP_PATH_LOWMEM POPUP_OBJECT_PATH"/Lowmem"
229 #define POPUP_INTERFACE_LOWMEM POPUP_INTERFACE_NAME".Lowmem"
231 #define POPUP_PATH_MMC POPUP_OBJECT_PATH"/Mmc"
232 #define POPUP_INTERFACE_MMC POPUP_INTERFACE_NAME".Mmc"
234 #define POPUP_PATH_USB POPUP_OBJECT_PATH"/Usb"
235 #define POPUP_INTERFACE_USB POPUP_INTERFACE_NAME".Usb"
237 #define POPUP_PATH_USBOTG POPUP_OBJECT_PATH"/Usbotg"
238 #define POPUP_INTERFACE_USBOTG POPUP_INTERFACE_NAME".Usbotg"
240 #define POPUP_PATH_USBHOST POPUP_OBJECT_PATH"/Usbhost"
241 #define POPUP_INTERFACE_USBHOST POPUP_INTERFACE_NAME".Usbhost"
243 #define POPUP_PATH_SYSTEM POPUP_OBJECT_PATH"/System"
244 #define POPUP_INTERFACE_SYSTEM POPUP_INTERFACE_NAME".System"
246 #define POPUP_PATH_OVERHEAT POPUP_OBJECT_PATH"/Overheat"
247 #define POPUP_INTERFACE_OVERHEAT POPUP_INTERFACE_NAME".Overheat"
249 #define POPUP_PATH_CRASH POPUP_OBJECT_PATH"/Crash"
250 #define POPUP_INTERFACE_CRASH POPUP_INTERFACE_NAME".Crash"
252 #define POPUP_PATH_SERVANT POPUP_OBJECT_PATH"/Servant"
253 #define POPUP_IFACE_SERVANT POPUP_INTERFACE_NAME".Servant"
255 #define POPUP_PATH_APP POPUP_OBJECT_PATH"/Apps"
256 #define POPUP_IFACE_APP POPUP_BUS_NAME".Apps"
258 #define POPUP_METHOD_LAUNCH "PopupLaunch"
259 #define POPUP_METHOD_TERMINATE "AppTerminateByPid"
260 #define POPUP_KEY_CONTENT "_SYSPOPUP_CONTENT_"
265 #define CRASHD_BUS_NAME "org.tizen.system.crashd"
266 #define CRASHD_OBJECT_PATH "/Org/Tizen/System/CrashD"
267 #define CRASHD_INTERFACE_NAME CRASHD_BUS_NAME
269 #define CRASHD_PATH_CRASH CRASHD_OBJECT_PATH"/Crash"
270 #define CRASHD_INTERFACE_CRASH CRASHD_INTERFACE_NAME".Crash"
273 * Device Manager Policy Popup
275 #define DEVICEMANAGER_BUS_NAME "org.tizen.DevicePolicyManager"
276 #define DEVICEMANAGER_OBJECT_PATH "/org/tizen/DevicePolicyManager"
277 #define DEVICEMANAGER_INTERFACE_NAME DEVICEMANAGER_BUS_NAME
279 #define DEVICEMANAGER_PATH_POPUP DEVICEMANAGER_OBJECT_PATH"/Syspopup"
280 #define DEVICEMANAGER_INTERFACE_POPUP DEVICEMANAGER_INTERFACE_NAME".Syspopup"
283 /***************************************************************/
284 /* Experimental for Specific device - contact to deviced owner */
285 /***************************************************************/
287 /* Hall service: get hall status operations about hall */
288 #define DEVICED_PATH_HALL DEVICED_OBJECT_PATH"/Hall"
289 #define DEVICED_INTERFACE_HALL DEVICED_INTERFACE_NAME".hall"
290 /* Cpu service: operations about cpu */
291 #define DEVICED_PATH_CPU DEVICED_OBJECT_PATH"/Cpu"
292 #define DEVICED_INTERFACE_CPU DEVICED_INTERFACE_NAME".Cpu"
293 /* PmQos service: operations about pmqos */
294 #define DEVICED_PATH_PMQOS DEVICED_OBJECT_PATH"/PmQos"
295 #define DEVICED_INTERFACE_PMQOS DEVICED_INTERFACE_NAME".PmQos"
297 #define DEVICED_PATH_APPS DEVICED_OBJECT_PATH"/Apps"
298 #define DEVICED_INTERFACE_APPS DEVICED_INTERFACE_NAME".Apps"
299 /* GPIO service: status check about gpio */
300 #define DEVICED_PATH_GPIO DEVICED_OBJECT_PATH"/Gpio"
301 #define DEVICED_INTERFACE_GPIO DEVICED_INTERFACE_NAME".Gpio"
303 #define DEVICED_PATH_BOARD DEVICED_OBJECT_PATH"/Board"
304 #define DEVICED_INTERFACE_BOARD DEVICED_INTERFACE_NAME".Board"
306 #define DEVICED_PATH_CSA DEVICED_OBJECT_PATH"/Csa"
307 #define DEVICED_INTERFACE_CSA DEVICED_INTERFACE_NAME".Csa"
309 #define DUMP_SERVICE_BUS_NAME "org.tizen.system.dumpservice"
310 #define DUMP_SERVICE_OBJECT_PATH "/Org/Tizen/System/DumpService"
311 #define DUMP_SERVICE_INTERFACE_NAME DUMP_SERVICE_BUS_NAME
313 #define COORD_BUS_NAME "org.tizen.system.coord"
314 #define COORD_OBJECT_PATH "/Org/Tizen/System/Coord"
315 #define COORD_INTERFACE_NAME COORD_BUS_NAME
316 #define COORD_PATH_AUTOBRIGHTNESS COORD_OBJECT_PATH"/Autobrightness"
317 #define COORD_INTERFACE_AUTOBRIGHTNESS COORD_INTERFACE_NAME".autobrightness"
320 #define POPUP_PATH_LED POPUP_OBJECT_PATH"/Led"
321 #define POPUP_INTERFACE_LED POPUP_INTERFACE_NAME".Led"
323 #define POPUP_PATH_ODE POPUP_OBJECT_PATH"/Ode"
324 #define POPUP_INTERFACE_ODE POPUP_INTERFACE_NAME".Ode"
326 #define POPUP_PATH_BATTERY POPUP_OBJECT_PATH"/Battery"
327 #define POPUP_INTERFACE_BATTERY POPUP_INTERFACE_NAME".Battery"
328 #define POPUP_METHOD_SCREENOFF_TTS "ScreenOffTts"
330 #define POPUP_OVERHEAT_PATH POPUP_OBJECT_PATH"/Overheat"
331 #define POPUP_OVERHEAT_INTERFACE POPUP_INTERFACE_NAME".Overheat"
333 /***********************************************/
334 /* End of the Experimental for Specific device */
335 /***********************************************/
340 const unsigned char *data;
344 GVariant *dbus_handle_method_sync_with_reply_var(const char *dest, const char *path, const char *iface, const char *method, GVariant *var);
346 GVariant *dbus_handle_method_sync_with_reply_var_timeout(const char *dest, const char *path, const char *iface, const char *method, GVariant *var, int timeout);
349 gint* dbus_handle_get_unix_fd_list(GDBusMethodInvocation *invocation, int *size);
351 GVariant *dbus_handle_method_with_unix_fd_list_sync_with_reply(const char *dest, const char *path,
352 const char *iface, const char *method,
353 const char *signature, const char *param[],
354 int *in_fdlist, int in_size,
355 int **out_fdlist, int *out_size);
356 GVariant *dbus_handle_method_with_unix_fd_list_sync_with_reply_var(const char *dest, const char *path,
357 const char *iface, const char *method,
359 int *in_fdlist, int in_size,
360 int **out_fdlist, int *out_size);
362 int dbus_handle_method_sync(const char *dest, const char *path,
363 const char *interface, const char *method,
364 const char *sig, const char *param[]);
366 int dbus_handle_method_sync_var(const char *dest, const char *path, const char *iface, const char *method, GVariant *param);
368 int dbus_handle_method_sync_timeout(const char *dest, const char *path,
369 const char *interface, const char *method,
370 const char *sig, const char *param[], int timeout);
372 int dbus_handle_method_sync_pairs(const char *dest, const char *path,
373 const char *interface, const char *method,
374 int num, va_list args);
376 int dbus_handle_method_async_pairs(const char *dest, const char *path,
377 const char *interface, const char *method,
378 int num, va_list args);
380 int dbus_handle_method_async(const char *dest, const char *path,
381 const char *interface, const char *method,
382 const char *sig, const char *param[]);
384 int dbus_handle_method_async_var(const char *dest, const char *path, const char *iface, const char *method, GVariant *param);
386 typedef void (*dbus_pending_cb)(GVariant *var, void *user_data, GError *err);
388 int dbus_handle_method_async_with_reply(const char *dest,
392 const char *signature,
399 int dbus_handle_method_async_with_reply_var(const char *dest,
408 int dbus_handle_method_async_pairs_with_reply(const char *dest,
418 int check_systemd_active(void);
421 * @brief Dbus handler which is used to register and call methods
425 typedef void *dbus_handle_h;
428 * @brief Dbus method handler which is used to unregister dbus methods
431 typedef void *dbus_object_handle_h;
434 * @brief Structure which contains the dbus method name and callback function.
439 const char *signature_in;
440 const char *signature_out;
441 GVariant *(*func)(GDBusConnection *conn,
442 const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
443 GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data);
447 * @brief Structure which contains the dbus interface information and its methods.i
451 dbus_object_handle_h oh;
453 const dbus_method_s *methods;
457 #define dh_get_param_from_var(gvar, signature, ...) ((g_strcmp0(signature, g_variant_get_type_string(gvar)) == 0) ? g_variant_get(gvar, signature, __VA_ARGS__), TRUE : FALSE)
459 #define dbus_handle_new_g_variant_tuple() g_variant_new_tuple(NULL, 0)
462 * @brief Callback function which is called when the user data needs to be released.
465 typedef void (*destroy_notified)(void *data);
468 dbus_pending_cb func;
472 int dbus_handle_request_bus_name(dbus_handle_h handle, const char *bus_name, GBusNameAcquiredCallback acquired_handler, GBusNameLostCallback lost_handler);
474 dbus_handle_h dbus_handle_get_connection(GBusType bus_type, gboolean priv);
476 int dbus_handle_register_dbus_object(dbus_handle_h handle, const char *obj_path, const dbus_interface_u *iface);
477 int dbus_handle_unregister_dbus_object(dbus_handle_h handle, const char *obj_path);
479 int dbus_handle_add_dbus_object(dbus_handle_h handle, const char *obj_path, const dbus_interface_u *iface_u);
480 int dbus_handle_register_dbus_object_all(dbus_handle_h handle);
482 guint subscribe_dbus_signal(dbus_handle_h handle, const char *path, const char *iface, const char *name, GDBusSignalCallback cb, void *data, destroy_notified free_func);
483 void unsubscribe_dbus_signal(dbus_handle_h handle, guint id);
485 enum ctx_quit_reason {CTX_QUIT_UNKNOWN, CTX_QUIT_NORMAL, CTX_QUIT_TIMEOUT};
489 GMainContext *context;
491 GSource *timeout_src;
493 enum ctx_quit_reason quit_reason;
497 sig_ctx *dbus_handle_new_signal_ctx(void);
498 void dbus_handle_free_signal_ctx(sig_ctx *ctx);
499 guint subscribe_dbus_signal_ctx(dbus_handle_h handle, sig_ctx *ctx, const char *sender, const char *path, const char *iface, const char *name, GDBusSignalCallback cb);
500 int dbus_handle_signal_ctx_wait(sig_ctx *ctx);
501 int dbus_handle_signal_ctx_add_timeout(sig_ctx *ctx, int timeout);
503 GVariant *dbus_handle_make_simple_array(const char *sig, int *param);
505 int dbus_handle_broadcast_dbus_signal(const char *path, const char *iface, const char *name, const char *signature, const char *param[]);
506 int dbus_handle_broadcast_dbus_signal_var(const char *path, const char *iface, const char *name, GVariant *param);
516 int dbus_connection_get_sender_pid(GDBusConnection *conn, const char * sender);
517 int dbus_handle_get_sender_pid(dbus_handle_h handle, const char * sender);
518 int dbus_handle_get_sender_credentials(dbus_handle_h handle, const char *name, GDBusCredentials *creds);
519 int dbus_handle_watch_name(const char *name, GBusNameAppearedCallback name_appeared_handler, GBusNameVanishedCallback name_vanished_handler, void *user_data, GDestroyNotify user_data_free_func);
520 void dbus_handle_unwatch_name(guint id);
521 char** dbus_handle_get_owner_list(dbus_handle_h handle, const char *bus_name);
522 void dbus_handle_check_owner_name(dbus_handle_h handle, const char *owner_name);