D-Bus  1.4.10
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 
36 
42 /* documented in dbus-watch.c */
43 typedef struct DBusWatch DBusWatch;
44 /* documented in dbus-timeout.c */
45 typedef struct DBusTimeout DBusTimeout;
54 
58 typedef enum
59 {
62  DBUS_WATCH_ERROR = 1 << 2,
73 
78 typedef enum
79 {
84 
91  void *data);
96 typedef void (* DBusWatchToggledFunction) (DBusWatch *watch,
97  void *data);
102 typedef void (* DBusRemoveWatchFunction) (DBusWatch *watch,
103  void *data);
110  void *data);
116 typedef void (* DBusTimeoutToggledFunction) (DBusTimeout *timeout,
117  void *data);
122 typedef void (* DBusRemoveTimeoutFunction) (DBusTimeout *timeout,
123  void *data);
127 typedef void (* DBusDispatchStatusFunction) (DBusConnection *connection,
128  DBusDispatchStatus new_status,
129  void *data);
134 typedef void (* DBusWakeupMainFunction) (void *data);
135 
143  unsigned long uid,
144  void *data);
145 
153  const char *user_sid,
154  void *data);
155 
156 
162  void *user_data);
163 
169  DBusMessage *message,
170  void *user_data);
171 DBUS_EXPORT
172 DBusConnection* dbus_connection_open (const char *address,
173  DBusError *error);
174 DBUS_EXPORT
175 DBusConnection* dbus_connection_open_private (const char *address,
176  DBusError *error);
177 DBUS_EXPORT
179 DBUS_EXPORT
180 void dbus_connection_unref (DBusConnection *connection);
181 DBUS_EXPORT
182 void dbus_connection_close (DBusConnection *connection);
183 DBUS_EXPORT
185 DBUS_EXPORT
187 DBUS_EXPORT
189 DBUS_EXPORT
191 DBUS_EXPORT
193  int type);
194 
195 DBUS_EXPORT
197  dbus_bool_t exit_on_disconnect);
198 DBUS_EXPORT
199 void dbus_connection_flush (DBusConnection *connection);
200 DBUS_EXPORT
202  int timeout_milliseconds);
203 DBUS_EXPORT
205  int timeout_milliseconds);
206 DBUS_EXPORT
208 DBUS_EXPORT
210  DBusMessage *message);
211 DBUS_EXPORT
213  DBusMessage *message);
214 DBUS_EXPORT
216 DBUS_EXPORT
218 DBUS_EXPORT
220 DBUS_EXPORT
222 DBUS_EXPORT
224  DBusMessage *message,
225  dbus_uint32_t *client_serial);
226 DBUS_EXPORT
228  DBusMessage *message,
229  DBusPendingCall **pending_return,
230  int timeout_milliseconds);
231 DBUS_EXPORT
233  DBusMessage *message,
234  int timeout_milliseconds,
235  DBusError *error);
236 DBUS_EXPORT
238  DBusAddWatchFunction add_function,
239  DBusRemoveWatchFunction remove_function,
240  DBusWatchToggledFunction toggled_function,
241  void *data,
242  DBusFreeFunction free_data_function);
243 DBUS_EXPORT
245  DBusAddTimeoutFunction add_function,
246  DBusRemoveTimeoutFunction remove_function,
247  DBusTimeoutToggledFunction toggled_function,
248  void *data,
249  DBusFreeFunction free_data_function);
250 DBUS_EXPORT
252  DBusWakeupMainFunction wakeup_main_function,
253  void *data,
254  DBusFreeFunction free_data_function);
255 DBUS_EXPORT
258  void *data,
259  DBusFreeFunction free_data_function);
260 DBUS_EXPORT
262  unsigned long *uid);
263 DBUS_EXPORT
265  unsigned long *pid);
266 DBUS_EXPORT
268  void **data,
269  dbus_int32_t *data_size);
270 DBUS_EXPORT
272  DBusAllowUnixUserFunction function,
273  void *data,
274  DBusFreeFunction free_data_function);
275 DBUS_EXPORT
277  char **windows_sid_p);
278 DBUS_EXPORT
281  void *data,
282  DBusFreeFunction free_data_function);
283 DBUS_EXPORT
285  dbus_bool_t value);
286 DBUS_EXPORT
288  dbus_bool_t value);
289 
290 
291 /* Filters */
292 
293 DBUS_EXPORT
295  DBusHandleMessageFunction function,
296  void *user_data,
297  DBusFreeFunction free_data_function);
298 DBUS_EXPORT
300  DBusHandleMessageFunction function,
301  void *user_data);
302 
303 
304 /* Other */
305 DBUS_EXPORT
307 DBUS_EXPORT
309 DBUS_EXPORT
311  dbus_int32_t slot,
312  void *data,
313  DBusFreeFunction free_data_func);
314 DBUS_EXPORT
315 void* dbus_connection_get_data (DBusConnection *connection,
316  dbus_int32_t slot);
317 
318 DBUS_EXPORT
319 void dbus_connection_set_change_sigpipe (dbus_bool_t will_modify_sigpipe);
320 
321 DBUS_EXPORT
323  long size);
324 DBUS_EXPORT
326 DBUS_EXPORT
328  long size);
329 DBUS_EXPORT
331 
332 DBUS_EXPORT
334  long n);
335 DBUS_EXPORT
337 DBUS_EXPORT
339  long n);
340 DBUS_EXPORT
342 
343 DBUS_EXPORT
345 DBUS_EXPORT
347 
348 DBUS_EXPORT
350 DBUS_EXPORT
352  DBusPreallocatedSend *preallocated);
353 DBUS_EXPORT
355  DBusPreallocatedSend *preallocated,
356  DBusMessage *message,
357  dbus_uint32_t *client_serial);
358 
359 
360 /* Object tree functionality */
361 
366 typedef void (* DBusObjectPathUnregisterFunction) (DBusConnection *connection,
367  void *user_data);
374  DBusMessage *message,
375  void *user_data);
376 
384 {
388  void (* dbus_internal_pad1) (void *);
389  void (* dbus_internal_pad2) (void *);
390  void (* dbus_internal_pad3) (void *);
391  void (* dbus_internal_pad4) (void *);
392 };
393 
394 DBUS_EXPORT
396  const char *path,
397  const DBusObjectPathVTable *vtable,
398  void *user_data,
399  DBusError *error);
400 
401 DBUS_EXPORT
403  const char *path,
404  const DBusObjectPathVTable *vtable,
405  void *user_data);
406 
407 DBUS_EXPORT
409  const char *path,
410  const DBusObjectPathVTable *vtable,
411  void *user_data,
412  DBusError *error);
413 
414 DBUS_EXPORT
416  const char *path,
417  const DBusObjectPathVTable *vtable,
418  void *user_data);
419 DBUS_EXPORT
421  const char *path);
422 
423 DBUS_EXPORT
425  const char *path,
426  void **data_p);
427 
428 DBUS_EXPORT
430  const char *parent_path,
431  char ***child_entries);
432 
433 DBUS_EXPORT
435  int *fd);
436 DBUS_EXPORT
438  int *fd);
439 
448 #ifndef DBUS_DISABLE_DEPRECATED
449 DBUS_EXPORT
451 #endif
452 
453 DBUS_EXPORT
454 int dbus_watch_get_unix_fd (DBusWatch *watch);
455 DBUS_EXPORT
456 int dbus_watch_get_socket (DBusWatch *watch);
457 DBUS_EXPORT
458 unsigned int dbus_watch_get_flags (DBusWatch *watch);
459 DBUS_EXPORT
460 void* dbus_watch_get_data (DBusWatch *watch);
461 DBUS_EXPORT
462 void dbus_watch_set_data (DBusWatch *watch,
463  void *data,
464  DBusFreeFunction free_data_function);
465 DBUS_EXPORT
467  unsigned int flags);
468 DBUS_EXPORT
470 
478 DBUS_EXPORT
480 DBUS_EXPORT
481 void* dbus_timeout_get_data (DBusTimeout *timeout);
482 DBUS_EXPORT
483 void dbus_timeout_set_data (DBusTimeout *timeout,
484  void *data,
485  DBusFreeFunction free_data_function);
486 DBUS_EXPORT
488 DBUS_EXPORT
490 
494 
495 #endif /* DBUS_CONNECTION_H */