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.
23 #include <dbus/dbus.h>
28 #define XXX_BUS_NAME "org.tizen.system.XXX"
29 #define XXX_OBJECT_PATH "/Org/Tizen/System/XXX"
30 #define XXX_INTERFACE_NAME XXX_BUS_NAME
31 #define XXX_PATH_YYY XXX_OBJECT_PATH"/YYY"
32 #define XXX_INTERFACE_YYY XXX_INTERFACE_NAME".YYY"
33 #define XXX_SIGNAL_ZZZ "ZZZ"
34 #define XXX_METHOD_ZZZ "ZZZ"
40 #define DEVICED_BUS_NAME "org.tizen.system.deviced"
41 #define DEVICED_OBJECT_PATH "/Org/Tizen/System/DeviceD"
42 #define DEVICED_INTERFACE_NAME DEVICED_BUS_NAME
43 /* Core service: get/set device status operations about device */
44 #define DEVICED_PATH_CORE DEVICED_OBJECT_PATH"/Core"
45 #define DEVICED_INTERFACE_CORE DEVICED_INTERFACE_NAME".core"
46 /* Display service: start/stop display(pm), get/set brightness operations about display */
47 #define DEVICED_PATH_DISPLAY DEVICED_OBJECT_PATH"/Display"
48 #define DEVICED_INTERFACE_DISPLAY DEVICED_INTERFACE_NAME".display"
49 /* Pass service: start/stop pass operations about pass */
50 #define DEVICED_PATH_PASS DEVICED_OBJECT_PATH"/Pass"
51 #define DEVICED_INTERFACE_PASS DEVICED_INTERFACE_NAME".pass"
52 /* Hall service: get hall status operations about hall */
53 #define DEVICED_PATH_HALL DEVICED_OBJECT_PATH"/Hall"
54 #define DEVICED_INTERFACE_HALL DEVICED_INTERFACE_NAME".hall"
55 /* Power service: set resetkey disable operations about power */
56 #define DEVICED_PATH_POWER DEVICED_OBJECT_PATH"/Power"
57 #define DEVICED_INTERFACE_POWER DEVICED_INTERFACE_NAME".power"
58 /* Storage service: get storage size operatioins about storage */
59 #define DEVICED_PATH_STORAGE DEVICED_OBJECT_PATH"/Storage"
60 #define DEVICED_INTERFACE_STORAGE DEVICED_INTERFACE_NAME".storage"
61 /* ODE service: request ode popup result operatioins about storage */
62 #define DEVICED_PATH_ODE DEVICED_OBJECT_PATH"/Ode"
63 #define DEVICED_INTERFACE_ODE DEVICED_INTERFACE_NAME".ode"
64 /* Haptic service: operatioins about haptic */
65 #define DEVICED_PATH_HAPTIC DEVICED_OBJECT_PATH"/Haptic"
66 #define DEVICED_INTERFACE_HAPTIC DEVICED_INTERFACE_NAME".haptic"
67 /* Lowmem service: get critical low status operations about Lowmem */
68 #define DEVICED_PATH_LOWMEM DEVICED_OBJECT_PATH"/Lowmem"
69 #define DEVICED_INTERFACE_LOWMEM DEVICED_INTERFACE_NAME".lowmem"
70 /* Poweroff service: get power off status operations about Poweroff */
71 #define DEVICED_PATH_POWEROFF DEVICED_OBJECT_PATH"/PowerOff"
72 #define DEVICED_INTERFACE_POWEROFF DEVICED_INTERFACE_NAME".PowerOff"
73 /* Led service: play/stop led operations about led */
74 #define DEVICED_PATH_LED DEVICED_OBJECT_PATH"/Led"
75 #define DEVICED_INTERFACE_LED DEVICED_INTERFACE_NAME".Led"
76 /* MMC service: mount/unmount/format mmc operations about mmc */
77 #define DEVICED_PATH_MMC DEVICED_OBJECT_PATH"/Mmc"
78 #define DEVICED_INTERFACE_MMC DEVICED_INTERFACE_NAME".Mmc"
79 /* Process service: operations about process */
80 #define DEVICED_PATH_PROCESS DEVICED_OBJECT_PATH"/Process"
81 #define DEVICED_INTERFACE_PROCESS DEVICED_INTERFACE_NAME".Process"
82 /* Key service: operations about key */
83 #define DEVICED_PATH_KEY DEVICED_OBJECT_PATH"/Key"
84 #define DEVICED_INTERFACE_KEY DEVICED_INTERFACE_NAME".Key"
85 /* USB client service: change usb connection mode */
86 #define DEVICED_PATH_USB DEVICED_OBJECT_PATH"/Usb"
87 #define DEVICED_INTERFACE_USB DEVICED_INTERFACE_NAME".Usb"
88 /* USB start/stop service: operations about usb start/stop */
89 #define DEVICED_PATH_USB_CONTROL DEVICED_OBJECT_PATH"/UsbControl"
90 #define DEVICED_INTERFACE_USB_CONTROL DEVICED_INTERFACE_NAME".UsbControl"
91 /* USB host service: operations about usb start/stop */
92 #define DEVICED_PATH_USBHOST DEVICED_OBJECT_PATH"/Usbhost"
93 #define DEVICED_INTERFACE_USBHOST DEVICED_INTERFACE_NAME".Usbhost"
94 /* Cpu service: operations about cpu */
95 #define DEVICED_PATH_CPU DEVICED_OBJECT_PATH"/Cpu"
96 #define DEVICED_INTERFACE_CPU DEVICED_INTERFACE_NAME".Cpu"
97 /* PmQos service: operations about pmqos */
98 #define DEVICED_PATH_PMQOS DEVICED_OBJECT_PATH"/PmQos"
99 #define DEVICED_INTERFACE_PMQOS DEVICED_INTERFACE_NAME".PmQos"
100 /* Sysnoti service */
101 #define DEVICED_PATH_SYSNOTI DEVICED_OBJECT_PATH"/SysNoti"
102 #define DEVICED_INTERFACE_SYSNOTI DEVICED_INTERFACE_NAME".SysNoti"
104 #define DEVICED_PATH_EXTCON DEVICED_OBJECT_PATH"/ExtCon"
105 #define DEVICED_INTERFACE_EXTCON DEVICED_INTERFACE_NAME".ExtCon"
106 /* Battery service */
107 #define DEVICED_PATH_BATTERY DEVICED_OBJECT_PATH"/Battery"
108 #define DEVICED_INTERFACE_BATTERY DEVICED_INTERFACE_NAME".Battery"
110 #define DEVICED_PATH_TIME DEVICED_OBJECT_PATH"/Time"
111 #define DEVICED_INTERFACE_TIME DEVICED_INTERFACE_NAME".Time"
113 #define DEVICED_PATH_BOARD DEVICED_OBJECT_PATH"/Board"
114 #define DEVICED_INTERFACE_BOARD DEVICED_INTERFACE_NAME".Board"
115 /* Testmode service */
116 #define DEVICED_PATH_TESTMODE DEVICED_OBJECT_PATH"/Testmode"
117 #define DEVICED_INTERFACE_TESTMODE DEVICED_INTERFACE_NAME".Testmode"
120 #define DEVICED_PATH_APPS DEVICED_OBJECT_PATH"/Apps"
121 #define DEVICED_INTERFACE_APPS DEVICED_INTERFACE_NAME".Apps"
123 /* GPIO service: status check about gpio */
124 #define DEVICED_PATH_GPIO DEVICED_OBJECT_PATH"/Gpio"
125 #define DEVICED_INTERFACE_GPIO DEVICED_INTERFACE_NAME".Gpio"
127 /* HDMICEC service: status check about gpio */
128 #define DEVICED_PATH_HDMICEC DEVICED_OBJECT_PATH"/HdmiCec"
129 #define DEVICED_INTERFACE_HDMICEC DEVICED_INTERFACE_NAME".HdmiCec"
134 #define RESOURCED_BUS_NAME "org.tizen.resourced"
135 #define RESOURCED_OBJECT_PATH "/Org/Tizen/ResourceD"
136 #define RESOURCED_INTERFACE_NAME RESOURCED_BUS_NAME
138 #define RESOURCED_PATH_PROCESS RESOURCED_OBJECT_PATH"/Process"
139 #define RESOURCED_INTERFACE_PROCESS RESOURCED_INTERFACE_NAME".process"
140 #define RESOURCED_METHOD_ACTIVE "Active"
145 #define POPUP_BUS_NAME "org.tizen.system.popup"
146 #define POPUP_OBJECT_PATH "/Org/Tizen/System/Popup"
147 #define POPUP_INTERFACE_NAME POPUP_BUS_NAME
149 #define POPUP_PATH_LED POPUP_OBJECT_PATH"/Led"
150 #define POPUP_INTERFACE_LED POPUP_INTERFACE_NAME".Led"
152 #define POPUP_PATH_TICKER POPUP_OBJECT_PATH"/Ticker"
153 #define POPUP_INTERFACE_TICKER POPUP_INTERFACE_NAME".Ticker"
155 #define POPUP_PATH_POWEROFF POPUP_OBJECT_PATH"/Poweroff"
156 #define POPUP_INTERFACE_POWEROFF POPUP_INTERFACE_NAME".Poweroff"
158 #define POPUP_PATH_LOWBAT POPUP_OBJECT_PATH"/Lowbat"
159 #define POPUP_INTERFACE_LOWBAT POPUP_INTERFACE_NAME".Lowbat"
161 #define POPUP_PATH_LOWMEM POPUP_OBJECT_PATH"/Lowmem"
162 #define POPUP_INTERFACE_LOWMEM POPUP_INTERFACE_NAME".Lowmem"
164 #define POPUP_PATH_MMC POPUP_OBJECT_PATH"/Mmc"
165 #define POPUP_INTERFACE_MMC POPUP_INTERFACE_NAME".Mmc"
167 #define POPUP_PATH_USB POPUP_OBJECT_PATH"/Usb"
168 #define POPUP_INTERFACE_USB POPUP_INTERFACE_NAME".Usb"
170 #define POPUP_PATH_USBOTG POPUP_OBJECT_PATH"/Usbotg"
171 #define POPUP_INTERFACE_USBOTG POPUP_INTERFACE_NAME".Usbotg"
173 #define POPUP_PATH_USBHOST POPUP_OBJECT_PATH"/Usbhost"
174 #define POPUP_INTERFACE_USBHOST POPUP_INTERFACE_NAME".Usbhost"
176 #define POPUP_PATH_SYSTEM POPUP_OBJECT_PATH"/System"
177 #define POPUP_INTERFACE_SYSTEM POPUP_INTERFACE_NAME".System"
179 #define POPUP_PATH_CRASH POPUP_OBJECT_PATH"/Crash"
180 #define POPUP_INTERFACE_CRASH POPUP_INTERFACE_NAME".Crash"
182 #define POPUP_PATH_ODE POPUP_OBJECT_PATH"/Ode"
183 #define POPUP_INTERFACE_ODE POPUP_INTERFACE_NAME".Ode"
185 #define POPUP_PATH_BATTERY POPUP_OBJECT_PATH"/Battery"
186 #define POPUP_INTERFACE_BATTERY POPUP_INTERFACE_NAME".Battery"
188 #define POPUP_PATH_SERVANT POPUP_OBJECT_PATH"/Servant"
189 #define POPUP_IFACE_SERVANT POPUP_INTERFACE_NAME".Servant"
191 #define POPUP_PATH_APP POPUP_OBJECT_PATH"/Apps"
192 #define POPUP_IFACE_APP POPUP_BUS_NAME".Apps"
194 #define POPUP_METHOD_LAUNCH "PopupLaunch"
195 #define POPUP_METHOD_TERMINATE "AppTerminateByPid"
196 #define POPUP_KEY_CONTENT "_SYSPOPUP_CONTENT_"
197 #define POPUP_METHOD_SCREENOFF_TTS "ScreenOffTts"
202 #define CRASHD_BUS_NAME "org.tizen.system.crashd"
203 #define CRASHD_OBJECT_PATH "/Org/Tizen/System/CrashD"
204 #define CRASHD_INTERFACE_NAME CRASHD_BUS_NAME
206 #define CRASHD_PATH_CRASH CRASHD_OBJECT_PATH"/Crash"
207 #define CRASHD_INTERFACE_CRASH CRASHD_INTERFACE_NAME".Crash"
214 int append_variant(DBusMessageIter *iter, const char *sig, char *param[]);
216 DBusMessage *dbus_method_sync_with_reply(const char *dest, const char *path,
217 const char *interface, const char *method,
218 const char *sig, char *param[]);
220 int dbus_method_sync(const char *dest, const char *path,
221 const char *interface, const char *method,
222 const char *sig, char *param[]);
224 int dbus_method_sync_timeout(const char *dest, const char *path,
225 const char *interface, const char *method,
226 const char *sig, char *param[], int timeout);
228 int dbus_method_async(const char *dest, const char *path,
229 const char *interface, const char *method,
230 const char *sig, char *param[]);
232 typedef void (*dbus_pending_cb)(void *data, DBusMessage *msg, DBusError *err);
234 int dbus_method_async_with_reply(const char *dest, const char *path,
235 const char *interface, const char *method,
236 const char *sig, char *param[], dbus_pending_cb cb, int timeout, void *data);
238 int check_systemd_active(void);