D-Bus
1.6.4
Main Page
Related Pages
Modules
Data Structures
Files
File List
dbus
dbus-connection.h
1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2
/* dbus-connection.h DBusConnection object
3
*
4
* Copyright (C) 2002, 2003 Red Hat Inc.
5
*
6
* Licensed under the Academic Free License version 2.1
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
*/
23
#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
24
#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
25
#endif
26
27
#ifndef DBUS_CONNECTION_H
28
#define DBUS_CONNECTION_H
29
30
#include <dbus/dbus-errors.h>
31
#include <dbus/dbus-memory.h>
32
#include <dbus/dbus-message.h>
33
#include <dbus/dbus-shared.h>
34
35
DBUS_BEGIN_DECLS
36
42
/* documented in dbus-watch.c */
43
typedef
struct
DBusWatch
DBusWatch
;
44
/* documented in dbus-timeout.c */
45
typedef
struct
DBusTimeout
DBusTimeout
;
47
typedef
struct
DBusPreallocatedSend
DBusPreallocatedSend
;
49
typedef
struct
DBusPendingCall
DBusPendingCall
;
51
typedef
struct
DBusConnection
DBusConnection
;
53
typedef
struct
DBusObjectPathVTable
DBusObjectPathVTable
;
54
58
typedef
enum
59
{
60
DBUS_WATCH_READABLE
= 1 << 0,
61
DBUS_WATCH_WRITABLE
= 1 << 1,
62
DBUS_WATCH_ERROR
= 1 << 2,
67
DBUS_WATCH_HANGUP
= 1 << 3
72
/* Internal to libdbus, there is also _DBUS_WATCH_NVAL in dbus-watch.h */
73
}
DBusWatchFlags
;
74
79
typedef
enum
80
{
81
DBUS_DISPATCH_DATA_REMAINS
,
82
DBUS_DISPATCH_COMPLETE
,
83
DBUS_DISPATCH_NEED_MEMORY
84
}
DBusDispatchStatus
;
85
91
typedef
dbus_bool_t
(*
DBusAddWatchFunction
) (
DBusWatch
*watch,
92
void
*data);
97
typedef
void (*
DBusWatchToggledFunction
) (
DBusWatch
*watch,
98
void
*data);
103
typedef
void (*
DBusRemoveWatchFunction
) (
DBusWatch
*watch,
104
void
*data);
110
typedef
dbus_bool_t
(*
DBusAddTimeoutFunction
) (
DBusTimeout
*timeout,
111
void
*data);
117
typedef
void (*
DBusTimeoutToggledFunction
) (
DBusTimeout
*timeout,
118
void
*data);
123
typedef
void (*
DBusRemoveTimeoutFunction
) (
DBusTimeout
*timeout,
124
void
*data);
128
typedef
void (*
DBusDispatchStatusFunction
) (
DBusConnection
*connection,
129
DBusDispatchStatus
new_status,
130
void
*data);
135
typedef
void (*
DBusWakeupMainFunction
) (
void
*data);
136
143
typedef
dbus_bool_t
(*
DBusAllowUnixUserFunction
) (
DBusConnection
*connection,
144
unsigned
long
uid,
145
void
*data);
146
153
typedef
dbus_bool_t
(*
DBusAllowWindowsUserFunction
) (
DBusConnection
*connection,
154
const
char
*user_sid,
155
void
*data);
156
157
162
typedef
void (*
DBusPendingCallNotifyFunction
) (
DBusPendingCall
*pending,
163
void
*user_data);
164
169
typedef
DBusHandlerResult
(*
DBusHandleMessageFunction
) (
DBusConnection
*connection,
170
DBusMessage
*message,
171
void
*user_data);
172
DBUS_EXPORT
173
DBusConnection
*
dbus_connection_open
(
const
char
*address,
174
DBusError
*error);
175
DBUS_EXPORT
176
DBusConnection
*
dbus_connection_open_private
(
const
char
*address,
177
DBusError
*error);
178
DBUS_EXPORT
179
DBusConnection
*
dbus_connection_ref
(
DBusConnection
*connection);
180
DBUS_EXPORT
181
void
dbus_connection_unref
(
DBusConnection
*connection);
182
DBUS_EXPORT
183
void
dbus_connection_close
(
DBusConnection
*connection);
184
DBUS_EXPORT
185
dbus_bool_t
dbus_connection_get_is_connected
(
DBusConnection
*connection);
186
DBUS_EXPORT
187
dbus_bool_t
dbus_connection_get_is_authenticated
(
DBusConnection
*connection);
188
DBUS_EXPORT
189
dbus_bool_t
dbus_connection_get_is_anonymous
(
DBusConnection
*connection);
190
DBUS_EXPORT
191
char
*
dbus_connection_get_server_id
(
DBusConnection
*connection);
192
DBUS_EXPORT
193
dbus_bool_t
dbus_connection_can_send_type
(
DBusConnection
*connection,
194
int
type);
195
196
DBUS_EXPORT
197
void
dbus_connection_set_exit_on_disconnect
(
DBusConnection
*connection,
198
dbus_bool_t
exit_on_disconnect);
199
DBUS_EXPORT
200
void
dbus_connection_flush
(
DBusConnection
*connection);
201
DBUS_EXPORT
202
dbus_bool_t
dbus_connection_read_write_dispatch
(
DBusConnection
*connection,
203
int
timeout_milliseconds);
204
DBUS_EXPORT
205
dbus_bool_t
dbus_connection_read_write
(
DBusConnection
*connection,
206
int
timeout_milliseconds);
207
DBUS_EXPORT
208
DBusMessage
*
dbus_connection_borrow_message
(
DBusConnection
*connection);
209
DBUS_EXPORT
210
void
dbus_connection_return_message
(
DBusConnection
*connection,
211
DBusMessage
*message);
212
DBUS_EXPORT
213
void
dbus_connection_steal_borrowed_message
(
DBusConnection
*connection,
214
DBusMessage
*message);
215
DBUS_EXPORT
216
DBusMessage
*
dbus_connection_pop_message
(
DBusConnection
*connection);
217
DBUS_EXPORT
218
DBusDispatchStatus
dbus_connection_get_dispatch_status
(
DBusConnection
*connection);
219
DBUS_EXPORT
220
DBusDispatchStatus
dbus_connection_dispatch
(
DBusConnection
*connection);
221
DBUS_EXPORT
222
dbus_bool_t
dbus_connection_has_messages_to_send
(
DBusConnection
*connection);
223
DBUS_EXPORT
224
dbus_bool_t
dbus_connection_send
(
DBusConnection
*connection,
225
DBusMessage
*message,
226
dbus_uint32_t *client_serial);
227
DBUS_EXPORT
228
dbus_bool_t
dbus_connection_send_with_reply
(
DBusConnection
*connection,
229
DBusMessage
*message,
230
DBusPendingCall
**pending_return,
231
int
timeout_milliseconds);
232
DBUS_EXPORT
233
DBusMessage
*
dbus_connection_send_with_reply_and_block
(
DBusConnection
*connection,
234
DBusMessage
*message,
235
int
timeout_milliseconds,
236
DBusError
*error);
237
DBUS_EXPORT
238
dbus_bool_t
dbus_connection_set_watch_functions
(
DBusConnection
*connection,
239
DBusAddWatchFunction
add_function,
240
DBusRemoveWatchFunction
remove_function,
241
DBusWatchToggledFunction
toggled_function,
242
void
*data,
243
DBusFreeFunction
free_data_function);
244
DBUS_EXPORT
245
dbus_bool_t
dbus_connection_set_timeout_functions
(
DBusConnection
*connection,
246
DBusAddTimeoutFunction
add_function,
247
DBusRemoveTimeoutFunction
remove_function,
248
DBusTimeoutToggledFunction
toggled_function,
249
void
*data,
250
DBusFreeFunction
free_data_function);
251
DBUS_EXPORT
252
void
dbus_connection_set_wakeup_main_function
(
DBusConnection
*connection,
253
DBusWakeupMainFunction
wakeup_main_function,
254
void
*data,
255
DBusFreeFunction
free_data_function);
256
DBUS_EXPORT
257
void
dbus_connection_set_dispatch_status_function
(
DBusConnection
*connection,
258
DBusDispatchStatusFunction
function
,
259
void
*data,
260
DBusFreeFunction
free_data_function);
261
DBUS_EXPORT
262
dbus_bool_t
dbus_connection_get_unix_user
(
DBusConnection
*connection,
263
unsigned
long
*uid);
264
DBUS_EXPORT
265
dbus_bool_t
dbus_connection_get_unix_process_id
(
DBusConnection
*connection,
266
unsigned
long
*pid);
267
DBUS_EXPORT
268
dbus_bool_t
dbus_connection_get_adt_audit_session_data
(
DBusConnection
*connection,
269
void
**data,
270
dbus_int32_t *data_size);
271
DBUS_EXPORT
272
void
dbus_connection_set_unix_user_function
(
DBusConnection
*connection,
273
DBusAllowUnixUserFunction
function
,
274
void
*data,
275
DBusFreeFunction
free_data_function);
276
DBUS_EXPORT
277
dbus_bool_t
dbus_connection_get_windows_user
(
DBusConnection
*connection,
278
char
**windows_sid_p);
279
DBUS_EXPORT
280
void
dbus_connection_set_windows_user_function
(
DBusConnection
*connection,
281
DBusAllowWindowsUserFunction
function
,
282
void
*data,
283
DBusFreeFunction
free_data_function);
284
DBUS_EXPORT
285
void
dbus_connection_set_allow_anonymous
(
DBusConnection
*connection,
286
dbus_bool_t
value);
287
DBUS_EXPORT
288
void
dbus_connection_set_route_peer_messages
(
DBusConnection
*connection,
289
dbus_bool_t
value);
290
291
292
/* Filters */
293
294
DBUS_EXPORT
295
dbus_bool_t
dbus_connection_add_filter
(
DBusConnection
*connection,
296
DBusHandleMessageFunction
function
,
297
void
*user_data,
298
DBusFreeFunction
free_data_function);
299
DBUS_EXPORT
300
void
dbus_connection_remove_filter
(
DBusConnection
*connection,
301
DBusHandleMessageFunction
function
,
302
void
*user_data);
303
304
305
/* Other */
306
DBUS_EXPORT
307
dbus_bool_t
dbus_connection_allocate_data_slot
(dbus_int32_t *slot_p);
308
DBUS_EXPORT
309
void
dbus_connection_free_data_slot
(dbus_int32_t *slot_p);
310
DBUS_EXPORT
311
dbus_bool_t
dbus_connection_set_data
(
DBusConnection
*connection,
312
dbus_int32_t slot,
313
void
*data,
314
DBusFreeFunction
free_data_func);
315
DBUS_EXPORT
316
void
*
dbus_connection_get_data
(
DBusConnection
*connection,
317
dbus_int32_t slot);
318
319
DBUS_EXPORT
320
void
dbus_connection_set_change_sigpipe
(
dbus_bool_t
will_modify_sigpipe);
321
322
DBUS_EXPORT
323
void
dbus_connection_set_max_message_size
(
DBusConnection
*connection,
324
long
size);
325
DBUS_EXPORT
326
long
dbus_connection_get_max_message_size
(
DBusConnection
*connection);
327
DBUS_EXPORT
328
void
dbus_connection_set_max_received_size
(
DBusConnection
*connection,
329
long
size);
330
DBUS_EXPORT
331
long
dbus_connection_get_max_received_size
(
DBusConnection
*connection);
332
333
DBUS_EXPORT
334
void
dbus_connection_set_max_message_unix_fds
(
DBusConnection
*connection,
335
long
n);
336
DBUS_EXPORT
337
long
dbus_connection_get_max_message_unix_fds
(
DBusConnection
*connection);
338
DBUS_EXPORT
339
void
dbus_connection_set_max_received_unix_fds
(
DBusConnection
*connection,
340
long
n);
341
DBUS_EXPORT
342
long
dbus_connection_get_max_received_unix_fds
(
DBusConnection
*connection);
343
344
DBUS_EXPORT
345
long
dbus_connection_get_outgoing_size
(
DBusConnection
*connection);
346
DBUS_EXPORT
347
long
dbus_connection_get_outgoing_unix_fds
(
DBusConnection
*connection);
348
349
DBUS_EXPORT
350
DBusPreallocatedSend
*
dbus_connection_preallocate_send
(
DBusConnection
*connection);
351
DBUS_EXPORT
352
void
dbus_connection_free_preallocated_send
(
DBusConnection
*connection,
353
DBusPreallocatedSend
*preallocated);
354
DBUS_EXPORT
355
void
dbus_connection_send_preallocated
(
DBusConnection
*connection,
356
DBusPreallocatedSend
*preallocated,
357
DBusMessage
*message,
358
dbus_uint32_t *client_serial);
359
360
361
/* Object tree functionality */
362
367
typedef
void (*
DBusObjectPathUnregisterFunction
) (
DBusConnection
*connection,
368
void
*user_data);
374
typedef
DBusHandlerResult
(*
DBusObjectPathMessageFunction
) (
DBusConnection
*connection,
375
DBusMessage
*message,
376
void
*user_data);
377
384
struct
DBusObjectPathVTable
385
{
386
DBusObjectPathUnregisterFunction
unregister_function
;
387
DBusObjectPathMessageFunction
message_function
;
389
void (*
dbus_internal_pad1
) (
void
*);
390
void (*
dbus_internal_pad2
) (
void
*);
391
void (*
dbus_internal_pad3
) (
void
*);
392
void (*
dbus_internal_pad4
) (
void
*);
393
};
394
395
DBUS_EXPORT
396
dbus_bool_t
dbus_connection_try_register_object_path
(
DBusConnection
*connection,
397
const
char
*path,
398
const
DBusObjectPathVTable
*vtable,
399
void
*user_data,
400
DBusError
*error);
401
402
DBUS_EXPORT
403
dbus_bool_t
dbus_connection_register_object_path
(
DBusConnection
*connection,
404
const
char
*path,
405
const
DBusObjectPathVTable
*vtable,
406
void
*user_data);
407
408
DBUS_EXPORT
409
dbus_bool_t
dbus_connection_try_register_fallback
(
DBusConnection
*connection,
410
const
char
*path,
411
const
DBusObjectPathVTable
*vtable,
412
void
*user_data,
413
DBusError
*error);
414
415
DBUS_EXPORT
416
dbus_bool_t
dbus_connection_register_fallback
(
DBusConnection
*connection,
417
const
char
*path,
418
const
DBusObjectPathVTable
*vtable,
419
void
*user_data);
420
DBUS_EXPORT
421
dbus_bool_t
dbus_connection_unregister_object_path
(
DBusConnection
*connection,
422
const
char
*path);
423
424
DBUS_EXPORT
425
dbus_bool_t
dbus_connection_get_object_path_data
(
DBusConnection
*connection,
426
const
char
*path,
427
void
**data_p);
428
429
DBUS_EXPORT
430
dbus_bool_t
dbus_connection_list_registered
(
DBusConnection
*connection,
431
const
char
*parent_path,
432
char
***child_entries);
433
434
DBUS_EXPORT
435
dbus_bool_t
dbus_connection_get_unix_fd
(
DBusConnection
*connection,
436
int
*fd);
437
DBUS_EXPORT
438
dbus_bool_t
dbus_connection_get_socket
(
DBusConnection
*connection,
439
int
*fd);
440
449
#ifndef DBUS_DISABLE_DEPRECATED
450
DBUS_EXPORT
451
DBUS_DEPRECATED
int
dbus_watch_get_fd
(
DBusWatch
*watch);
452
#endif
453
454
DBUS_EXPORT
455
int
dbus_watch_get_unix_fd
(
DBusWatch
*watch);
456
DBUS_EXPORT
457
int
dbus_watch_get_socket
(
DBusWatch
*watch);
458
DBUS_EXPORT
459
unsigned
int
dbus_watch_get_flags
(
DBusWatch
*watch);
460
DBUS_EXPORT
461
void
*
dbus_watch_get_data
(
DBusWatch
*watch);
462
DBUS_EXPORT
463
void
dbus_watch_set_data
(
DBusWatch
*watch,
464
void
*data,
465
DBusFreeFunction
free_data_function);
466
DBUS_EXPORT
467
dbus_bool_t
dbus_watch_handle
(
DBusWatch
*watch,
468
unsigned
int
flags);
469
DBUS_EXPORT
470
dbus_bool_t
dbus_watch_get_enabled
(
DBusWatch
*watch);
471
479
DBUS_EXPORT
480
int
dbus_timeout_get_interval
(
DBusTimeout
*timeout);
481
DBUS_EXPORT
482
void
*
dbus_timeout_get_data
(
DBusTimeout
*timeout);
483
DBUS_EXPORT
484
void
dbus_timeout_set_data
(
DBusTimeout
*timeout,
485
void
*data,
486
DBusFreeFunction
free_data_function);
487
DBUS_EXPORT
488
dbus_bool_t
dbus_timeout_handle
(
DBusTimeout
*timeout);
489
DBUS_EXPORT
490
dbus_bool_t
dbus_timeout_get_enabled
(
DBusTimeout
*timeout);
491
494
DBUS_END_DECLS
495
496
#endif
/* DBUS_CONNECTION_H */
Generated on Thu Jun 13 2013 14:47:34 for D-Bus by
1.8.1.2