1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
|
/*
* deviced
*
* Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the License);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __DBUS_H__
#define __DBUS_H__
#include <dbus/dbus.h>
#include <stdarg.h>
/*
* Template
*
#define XXX_BUS_NAME "org.tizen.system.XXX"
#define XXX_OBJECT_PATH "/Org/Tizen/System/XXX"
#define XXX_INTERFACE_NAME XXX_BUS_NAME
#define XXX_PATH_YYY XXX_OBJECT_PATH"/YYY"
#define XXX_INTERFACE_YYY XXX_INTERFACE_NAME".YYY"
#define XXX_SIGNAL_ZZZ "ZZZ"
#define XXX_METHOD_ZZZ "ZZZ"
*/
/*
* DBus daemon
*/
#define DBUS_BUS_NAME "org.freedesktop.DBus"
#define DBUS_OBJECT_PATH "/org/freedesktop/DBus"
#define DBUS_INTERFACE_NAME DBUS_BUS_NAME
/*
* Device daemon
*/
#define DEVICED_BUS_NAME "org.tizen.system.deviced"
#define DEVICED_OBJECT_PATH "/Org/Tizen/System/DeviceD"
#define DEVICED_INTERFACE_NAME DEVICED_BUS_NAME
/* Core service: get/set device status operations about device */
#define DEVICED_PATH_CORE DEVICED_OBJECT_PATH"/Core"
#define DEVICED_INTERFACE_CORE DEVICED_INTERFACE_NAME".core"
/* Display service: start/stop display(pm), get/set brightness operations about display */
#define DEVICED_PATH_DISPLAY DEVICED_OBJECT_PATH"/Display"
#define DEVICED_INTERFACE_DISPLAY DEVICED_INTERFACE_NAME".display"
/* Pass service: start/stop pass operations about pass */
#define DEVICED_PATH_PASS DEVICED_OBJECT_PATH"/Pass"
#define DEVICED_INTERFACE_PASS DEVICED_INTERFACE_NAME".pass"
/* Power service: set resetkey disable operations about power */
#define DEVICED_PATH_POWER DEVICED_OBJECT_PATH"/Power"
#define DEVICED_INTERFACE_POWER DEVICED_INTERFACE_NAME".power"
/* Storage service: get storage size operatioins about storage */
#define DEVICED_PATH_STORAGE DEVICED_OBJECT_PATH"/Storage"
#define DEVICED_INTERFACE_STORAGE DEVICED_INTERFACE_NAME".storage"
/* ODE service: request ode popup result operatioins about storage */
#define DEVICED_PATH_SDE DEVICED_OBJECT_PATH"/Sde"
#define DEVICED_INTERFACE_SDE DEVICED_INTERFACE_NAME".sde"
#define DEVICED_PATH_ODE DEVICED_OBJECT_PATH"/Ode"
#define DEVICED_INTERFACE_ODE DEVICED_INTERFACE_NAME".ode"
/* Lowmem service: get critical low status operations about Lowmem */
#define DEVICED_PATH_LOWMEM DEVICED_OBJECT_PATH"/Lowmem"
#define DEVICED_INTERFACE_LOWMEM DEVICED_INTERFACE_NAME".lowmem"
/* Poweroff service: get power off status operations about Poweroff */
#define DEVICED_PATH_POWEROFF DEVICED_OBJECT_PATH"/PowerOff"
#define DEVICED_INTERFACE_POWEROFF DEVICED_INTERFACE_NAME".PowerOff"
/* Led service: play/stop led operations about led */
#define DEVICED_PATH_LED DEVICED_OBJECT_PATH"/Led"
#define DEVICED_INTERFACE_LED DEVICED_INTERFACE_NAME".Led"
/* Block service: manage block device */
#define STORAGE_BUS_NAME "org.tizen.system.storage"
#define STORAGE_OBJECT_PATH "/Org/Tizen/System/Storage"
#define STORAGE_INTERFACE_NAME STORAGE_BUS_NAME
#define DEVICED_PATH_BLOCK STORAGE_OBJECT_PATH"/Block"
#define DEVICED_PATH_BLOCK_MANAGER DEVICED_PATH_BLOCK"/Manager"
#define DEVICED_INTERFACE_BLOCK_MANAGER STORAGE_INTERFACE_NAME".BlockManager"
/* MMC service: mount/unmount/format mmc operations about mmc */
#define DEVICED_PATH_MMC DEVICED_OBJECT_PATH"/Mmc"
#define DEVICED_INTERFACE_MMC DEVICED_INTERFACE_NAME".Mmc"
/* Process service: operations about process */
#define DEVICED_PATH_PROCESS DEVICED_OBJECT_PATH"/Process"
#define DEVICED_INTERFACE_PROCESS DEVICED_INTERFACE_NAME".Process"
/* Key service: operations about key */
#define DEVICED_PATH_KEY DEVICED_OBJECT_PATH"/Key"
#define DEVICED_INTERFACE_KEY DEVICED_INTERFACE_NAME".Key"
/* USB client service: change usb connection mode */
#define DEVICED_PATH_USB DEVICED_OBJECT_PATH"/Usb"
#define DEVICED_INTERFACE_USB DEVICED_INTERFACE_NAME".Usb"
/* USB start/stop service: operations about usb start/stop */
#define DEVICED_PATH_USB_CONTROL DEVICED_OBJECT_PATH"/UsbControl"
#define DEVICED_INTERFACE_USB_CONTROL DEVICED_INTERFACE_NAME".UsbControl"
/* USB host service: operations about usb start/stop */
#define DEVICED_PATH_USBHOST DEVICED_OBJECT_PATH"/Usbhost"
#define DEVICED_INTERFACE_USBHOST DEVICED_INTERFACE_NAME".Usbhost"
/* Sysnoti service */
#define DEVICED_PATH_SYSNOTI DEVICED_OBJECT_PATH"/SysNoti"
#define DEVICED_INTERFACE_SYSNOTI DEVICED_INTERFACE_NAME".SysNoti"
/* ExtCon service */
#define DEVICED_PATH_EXTCON DEVICED_OBJECT_PATH"/ExtCon"
#define DEVICED_INTERFACE_EXTCON DEVICED_INTERFACE_NAME".ExtCon"
/* Battery service */
#define DEVICED_PATH_BATTERY DEVICED_OBJECT_PATH"/Battery"
#define DEVICED_INTERFACE_BATTERY DEVICED_INTERFACE_NAME".Battery"
/* Time service */
#define DEVICED_PATH_TIME DEVICED_OBJECT_PATH"/Time"
#define DEVICED_INTERFACE_TIME DEVICED_INTERFACE_NAME".Time"
/* IR service */
#define DEVICED_PATH_IR DEVICED_OBJECT_PATH"/Ir"
#define DEVICED_INTERFACE_IR DEVICED_INTERFACE_NAME".ir"
/* USB_HOST_TEST service */
#define DEVICED_PATH_USB_HOST_TEST DEVICED_OBJECT_PATH"/UsbHostTest"
#define DEVICED_INTERFACE_USB_HOST_TEST DEVICED_INTERFACE_NAME".UsbHostTest"
/* HDMICEC service: status check about gpio */
#define DEVICED_PATH_HDMICEC DEVICED_OBJECT_PATH"/HdmiCec"
#define DEVICED_INTERFACE_HDMICEC DEVICED_INTERFACE_NAME".HdmiCec"
/* Tzip service: Archive file system */
#define DEVICED_PATH_TZIP DEVICED_OBJECT_PATH"/Tzip"
#define DEVICED_INTERFACE_TZIP DEVICED_INTERFACE_NAME".Tzip"
/*
* Vibrator daemon
*/
#define VIBRATOR_BUS_NAME "org.tizen.system.vibrator"
#define VIBRATOR_OBJECT_PATH "/Org/Tizen/System/Vibrator"
#define VIBRATOR_INTERFACE_NAME VIBRATOR_BUS_NAME
/* Core service: get/set device status operations about device */
#define VIBRATOR_PATH_CORE VIBRATOR_OBJECT_PATH"/Core"
#define VIBRATOR_INTERFACE_CORE VIBRATOR_INTERFACE_NAME".core"
#define VIBRATOR_PATH_HAPTIC VIBRATOR_OBJECT_PATH"/Haptic"
#define VIBRATOR_INTERFACE_HAPTIC VIBRATOR_INTERFACE_NAME".haptic"
/*
* Resource daemon
*/
#define RESOURCED_BUS_NAME "org.tizen.resourced"
#define RESOURCED_OBJECT_PATH "/Org/Tizen/ResourceD"
#define RESOURCED_INTERFACE_NAME RESOURCED_BUS_NAME
#define RESOURCED_PATH_PROCESS RESOURCED_OBJECT_PATH"/Process"
#define RESOURCED_INTERFACE_PROCESS RESOURCED_INTERFACE_NAME".process"
#define RESOURCED_METHOD_ACTIVE "Active"
#define RESOURCED_PATH_FREEZER RESOURCED_OBJECT_PATH"/Freezer"
#define RESOURCED_INTERFACE_FREEZER RESOURCED_INTERFACE_NAME".freezer"
#define RESOURCED_PATH_SLUGGISH RESOURCED_OBJECT_PATH"/Sluggish"
#define RESOURCED_INTERFACE_SLUGGISH RESOURCED_INTERFACE_NAME".sluggish"
#define RESOURCED_SIGNAL_SLUGGISH "SluggishDetected"
#define RESOURCED_PATH_LOGGING RESOURCED_OBJECT_PATH"/Logging"
#define RESOURCED_INTERFACE_LOGGING RESOURCED_INTERFACE_NAME".logging"
/*
* Popup launcher
*/
#define POPUP_BUS_NAME "org.tizen.system.popup"
#define POPUP_OBJECT_PATH "/Org/Tizen/System/Popup"
#define POPUP_INTERFACE_NAME POPUP_BUS_NAME
/* LED */
#define POPUP_PATH_LED POPUP_OBJECT_PATH"/Led"
#define POPUP_INTERFACE_LED POPUP_INTERFACE_NAME".Led"
/* Notification */
#define POPUP_PATH_NOTI POPUP_OBJECT_PATH"/Noti"
#define POPUP_INTERFACE_NOTI POPUP_INTERFACE_NAME".Noti"
/* Power key longpress */
#define POPUP_PATH_POWERKEY POPUP_OBJECT_PATH"/Powerkey"
#define POPUP_INTERFACE_POWERKEY POPUP_INTERFACE_NAME".Powerkey"
/* Low battery */
#define POPUP_PATH_LOWBAT POPUP_OBJECT_PATH"/Lowbat"
#define POPUP_INTERFACE_LOWBAT POPUP_INTERFACE_NAME".Lowbat"
/* Low memory */
#define POPUP_PATH_LOWMEM POPUP_OBJECT_PATH"/Lowmem"
#define POPUP_INTERFACE_LOWMEM POPUP_INTERFACE_NAME".Lowmem"
/* MMC */
#define POPUP_PATH_MMC POPUP_OBJECT_PATH"/Mmc"
#define POPUP_INTERFACE_MMC POPUP_INTERFACE_NAME".Mmc"
/* USB */
#define POPUP_PATH_USB POPUP_OBJECT_PATH"/Usb"
#define POPUP_INTERFACE_USB POPUP_INTERFACE_NAME".Usb"
/* USB otg */
#define POPUP_PATH_USBOTG POPUP_OBJECT_PATH"/Usbotg"
#define POPUP_INTERFACE_USBOTG POPUP_INTERFACE_NAME".Usbotg"
/* USB host */
#define POPUP_PATH_USBHOST POPUP_OBJECT_PATH"/Usbhost"
#define POPUP_INTERFACE_USBHOST POPUP_INTERFACE_NAME".Usbhost"
/* System */
#define POPUP_PATH_SYSTEM POPUP_OBJECT_PATH"/System"
#define POPUP_INTERFACE_SYSTEM POPUP_INTERFACE_NAME".System"
/* Overheat */
#define POPUP_PATH_OVERHEAT POPUP_OBJECT_PATH"/Overheat"
#define POPUP_INTERFACE_OVERHEAT POPUP_INTERFACE_NAME".Overheat"
/* Crash */
#define POPUP_PATH_CRASH POPUP_OBJECT_PATH"/Crash"
#define POPUP_INTERFACE_CRASH POPUP_INTERFACE_NAME".Crash"
/* Servant */
#define POPUP_PATH_SERVANT POPUP_OBJECT_PATH"/Servant"
#define POPUP_IFACE_SERVANT POPUP_INTERFACE_NAME".Servant"
#define POPUP_PATH_APP POPUP_OBJECT_PATH"/Apps"
#define POPUP_IFACE_APP POPUP_BUS_NAME".Apps"
#define POPUP_METHOD_LAUNCH "PopupLaunch"
#define POPUP_METHOD_TERMINATE "AppTerminateByPid"
#define POPUP_KEY_CONTENT "_SYSPOPUP_CONTENT_"
/*
* Crash daemon
*/
#define CRASHD_BUS_NAME "org.tizen.system.crashd"
#define CRASHD_OBJECT_PATH "/Org/Tizen/System/CrashD"
#define CRASHD_INTERFACE_NAME CRASHD_BUS_NAME
#define CRASHD_PATH_CRASH CRASHD_OBJECT_PATH"/Crash"
#define CRASHD_INTERFACE_CRASH CRASHD_INTERFACE_NAME".Crash"
/***************************************************************/
/* Experimental for Specific device - contact to deviced owner */
/***************************************************************/
/* Hall service: get hall status operations about hall */
#define DEVICED_PATH_HALL DEVICED_OBJECT_PATH"/Hall"
#define DEVICED_INTERFACE_HALL DEVICED_INTERFACE_NAME".hall"
/* Cpu service: operations about cpu */
#define DEVICED_PATH_CPU DEVICED_OBJECT_PATH"/Cpu"
#define DEVICED_INTERFACE_CPU DEVICED_INTERFACE_NAME".Cpu"
/* PmQos service: operations about pmqos */
#define DEVICED_PATH_PMQOS DEVICED_OBJECT_PATH"/PmQos"
#define DEVICED_INTERFACE_PMQOS DEVICED_INTERFACE_NAME".PmQos"
/* Apps service */
#define DEVICED_PATH_APPS DEVICED_OBJECT_PATH"/Apps"
#define DEVICED_INTERFACE_APPS DEVICED_INTERFACE_NAME".Apps"
/* GPIO service: status check about gpio */
#define DEVICED_PATH_GPIO DEVICED_OBJECT_PATH"/Gpio"
#define DEVICED_INTERFACE_GPIO DEVICED_INTERFACE_NAME".Gpio"
/* Board service */
#define DEVICED_PATH_BOARD DEVICED_OBJECT_PATH"/Board"
#define DEVICED_INTERFACE_BOARD DEVICED_INTERFACE_NAME".Board"
/* Csa service */
#define DEVICED_PATH_CSA DEVICED_OBJECT_PATH"/Csa"
#define DEVICED_INTERFACE_CSA DEVICED_INTERFACE_NAME".Csa"
/* dump service */
#define DUMP_SERVICE_BUS_NAME "org.tizen.system.dumpservice"
#define DUMP_SERVICE_OBJECT_PATH "/Org/Tizen/System/DumpService"
#define DUMP_SERVICE_INTERFACE_NAME DUMP_SERVICE_BUS_NAME
/* Coord daemon */
#define COORD_BUS_NAME "org.tizen.system.coord"
#define COORD_OBJECT_PATH "/Org/Tizen/System/Coord"
#define COORD_INTERFACE_NAME COORD_BUS_NAME
#define COORD_PATH_AUTOBRIGHTNESS COORD_OBJECT_PATH"/Autobrightness"
#define COORD_INTERFACE_AUTOBRIGHTNESS COORD_INTERFACE_NAME".autobrightness"
/* LED */
#define POPUP_PATH_LED POPUP_OBJECT_PATH"/Led"
#define POPUP_INTERFACE_LED POPUP_INTERFACE_NAME".Led"
/* ODE */
#define POPUP_PATH_ODE POPUP_OBJECT_PATH"/Ode"
#define POPUP_INTERFACE_ODE POPUP_INTERFACE_NAME".Ode"
/* Battery */
#define POPUP_PATH_BATTERY POPUP_OBJECT_PATH"/Battery"
#define POPUP_INTERFACE_BATTERY POPUP_INTERFACE_NAME".Battery"
#define POPUP_METHOD_SCREENOFF_TTS "ScreenOffTts"
/* Overheat Timer*/
#define POPUP_OVERHEAT_PATH POPUP_OBJECT_PATH"/Overheat"
#define POPUP_OVERHEAT_INTERFACE POPUP_INTERFACE_NAME".Overheat"
/***********************************************/
/* End of the Experimental for Specific device */
/***********************************************/
struct dbus_byte {
const unsigned char *data;
int size;
};
int append_variant(DBusMessageIter *iter, const char *sig, char *param[]);
DBusMessage *dbus_method_sync_with_reply(const char *dest, const char *path,
const char *interface, const char *method,
const char *sig, char *param[]);
int dbus_method_sync(const char *dest, const char *path,
const char *interface, const char *method,
const char *sig, char *param[]);
int dbus_method_sync_timeout(const char *dest, const char *path,
const char *interface, const char *method,
const char *sig, char *param[], int timeout);
int dbus_method_sync_pairs(const char *dest, const char *path,
const char *interface, const char *method,
int num, va_list args);
int dbus_method_async_pairs(const char *dest, const char *path,
const char *interface, const char *method,
int num, va_list args);
int dbus_method_async(const char *dest, const char *path,
const char *interface, const char *method,
const char *sig, char *param[]);
typedef void (*dbus_pending_cb)(void *data, DBusMessage *msg, DBusError *err);
int dbus_method_async_with_reply(const char *dest, const char *path,
const char *interface, const char *method,
const char *sig, char *param[], dbus_pending_cb cb, int timeout, void *data);
int check_systemd_active(void);
#endif
|