D-Bus  1.8.16
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,
72  /* Internal to libdbus, there is also _DBUS_WATCH_NVAL in dbus-watch.h */
74 
79 typedef enum
80 {
85 
92  void *data);
97 typedef void (* DBusWatchToggledFunction) (DBusWatch *watch,
98  void *data);
103 typedef void (* DBusRemoveWatchFunction) (DBusWatch *watch,
104  void *data);
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 
144  unsigned long uid,
145  void *data);
146 
154  const char *user_sid,
155  void *data);
156 
157 
163  void *user_data);
164 
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
180 DBUS_EXPORT
181 void dbus_connection_unref (DBusConnection *connection);
182 DBUS_EXPORT
183 void dbus_connection_close (DBusConnection *connection);
184 DBUS_EXPORT
186 DBUS_EXPORT
188 DBUS_EXPORT
190 DBUS_EXPORT
192 DBUS_EXPORT
194  int type);
195 
196 DBUS_EXPORT
198  dbus_bool_t exit_on_disconnect);
199 DBUS_EXPORT
200 void dbus_connection_flush (DBusConnection *connection);
201 DBUS_EXPORT
203  int timeout_milliseconds);
204 DBUS_EXPORT
206  int timeout_milliseconds);
207 DBUS_EXPORT
209 DBUS_EXPORT
211  DBusMessage *message);
212 DBUS_EXPORT
214  DBusMessage *message);
215 DBUS_EXPORT
217 DBUS_EXPORT
219 DBUS_EXPORT
221 DBUS_EXPORT
223 DBUS_EXPORT
225  DBusMessage *message,
226  dbus_uint32_t *client_serial);
227 DBUS_EXPORT
229  DBusMessage *message,
230  DBusPendingCall **pending_return,
231  int timeout_milliseconds);
232 DBUS_EXPORT
234  DBusMessage *message,
235  int timeout_milliseconds,
236  DBusError *error);
237 DBUS_EXPORT
239  DBusAddWatchFunction add_function,
240  DBusRemoveWatchFunction remove_function,
241  DBusWatchToggledFunction toggled_function,
242  void *data,
243  DBusFreeFunction free_data_function);
244 DBUS_EXPORT
246  DBusAddTimeoutFunction add_function,
247  DBusRemoveTimeoutFunction remove_function,
248  DBusTimeoutToggledFunction toggled_function,
249  void *data,
250  DBusFreeFunction free_data_function);
251 DBUS_EXPORT
253  DBusWakeupMainFunction wakeup_main_function,
254  void *data,
255  DBusFreeFunction free_data_function);
256 DBUS_EXPORT
259  void *data,
260  DBusFreeFunction free_data_function);
261 DBUS_EXPORT
263  unsigned long *uid);
264 DBUS_EXPORT
266  unsigned long *pid);
267 DBUS_EXPORT
269  void **data,
270  dbus_int32_t *data_size);
271 DBUS_EXPORT
273  DBusAllowUnixUserFunction function,
274  void *data,
275  DBusFreeFunction free_data_function);
276 DBUS_EXPORT
278  char **windows_sid_p);
279 DBUS_EXPORT
282  void *data,
283  DBusFreeFunction free_data_function);
284 DBUS_EXPORT
286  dbus_bool_t value);
287 DBUS_EXPORT
289  dbus_bool_t value);
290 
291 
292 /* Filters */
293 
294 DBUS_EXPORT
296  DBusHandleMessageFunction function,
297  void *user_data,
298  DBusFreeFunction free_data_function);
299 DBUS_EXPORT
301  DBusHandleMessageFunction function,
302  void *user_data);
303 
304 
305 /* Other */
306 DBUS_EXPORT
308 DBUS_EXPORT
310 DBUS_EXPORT
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
324  long size);
325 DBUS_EXPORT
327 DBUS_EXPORT
329  long size);
330 DBUS_EXPORT
332 
333 DBUS_EXPORT
335  long n);
336 DBUS_EXPORT
338 DBUS_EXPORT
340  long n);
341 DBUS_EXPORT
343 
344 DBUS_EXPORT
346 DBUS_EXPORT
348 
349 DBUS_EXPORT
351 DBUS_EXPORT
353  DBusPreallocatedSend *preallocated);
354 DBUS_EXPORT
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);
375  DBusMessage *message,
376  void *user_data);
377 
385 {
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
397  const char *path,
398  const DBusObjectPathVTable *vtable,
399  void *user_data,
400  DBusError *error);
401 
402 DBUS_EXPORT
404  const char *path,
405  const DBusObjectPathVTable *vtable,
406  void *user_data);
407 
408 DBUS_EXPORT
410  const char *path,
411  const DBusObjectPathVTable *vtable,
412  void *user_data,
413  DBusError *error);
414 
415 DBUS_EXPORT
417  const char *path,
418  const DBusObjectPathVTable *vtable,
419  void *user_data);
420 DBUS_EXPORT
422  const char *path);
423 
424 DBUS_EXPORT
426  const char *path,
427  void **data_p);
428 
429 DBUS_EXPORT
431  const char *parent_path,
432  char ***child_entries);
433 
434 DBUS_EXPORT
436  int *fd);
437 DBUS_EXPORT
439  int *fd);
440 
449 #ifndef DBUS_DISABLE_DEPRECATED
450 DBUS_EXPORT
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
468  unsigned int flags);
469 DBUS_EXPORT
471 
479 DBUS_EXPORT
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
489 DBUS_EXPORT
491 
495 
496 #endif /* DBUS_CONNECTION_H */
void(* dbus_internal_pad2)(void *)
Reserved for future expansion.
unsigned int dbus_uint32_t
A 32-bit unsigned integer on all platforms.
DBusWatchFlags
Indicates the status of a DBusWatch.
void dbus_connection_set_change_sigpipe(dbus_bool_t will_modify_sigpipe)
This function sets a global flag for whether dbus_connection_new() will set SIGPIPE behavior to SIG_I...
Internals of DBusTimeout.
Definition: dbus-timeout.c:40
DBusDispatchStatus
Indicates the status of incoming data on a DBusConnection.
Implementation of DBusWatch.
Definition: dbus-watch.c:40
void(* DBusFreeFunction)(void *memory)
The type of a function which frees a block of memory.
Definition: dbus-memory.h:64
#define DBUS_DEPRECATED
Tells the compiler to warn about a function or type if it's used.
More memory is needed to continue.
#define DBUS_BEGIN_DECLS
Macro used prior to declaring functions in the D-Bus header files.
void(* DBusPendingCallNotifyFunction)(DBusPendingCall *pending, void *user_data)
Called when a pending call now has a reply available.
void dbus_connection_set_windows_user_function(DBusConnection *connection, DBusAllowWindowsUserFunction function, void *data, DBusFreeFunction free_data_function)
Sets a predicate function used to determine whether a given user ID is allowed to connect...
dbus_bool_t dbus_connection_get_windows_user(DBusConnection *connection, char **windows_sid_p)
Gets the Windows user SID of the connection if known.
void(* DBusWatchToggledFunction)(DBusWatch *watch, void *data)
Called when dbus_watch_get_enabled() may return a different value than it did before.
void dbus_connection_set_max_message_size(DBusConnection *connection, long size)
Specifies the maximum size message this connection is allowed to receive.
dbus_bool_t dbus_connection_try_register_fallback(DBusConnection *connection, const char *path, const DBusObjectPathVTable *vtable, void *user_data, DBusError *error)
Registers a fallback handler for a given subsection of the object hierarchy.
DBUS_EXPORT dbus_bool_t dbus_watch_get_enabled(DBusWatch *watch)
Returns whether a watch is enabled or not.
Definition: dbus-watch.c:667
long dbus_connection_get_outgoing_size(DBusConnection *connection)
Gets the approximate size in bytes of all messages in the outgoing message queue. ...
DBusConnection * dbus_connection_ref(DBusConnection *connection)
Increments the reference count of a DBusConnection.
dbus_bool_t dbus_connection_can_send_type(DBusConnection *connection, int type)
Tests whether a certain type can be send via the connection.
dbus_bool_t dbus_connection_read_write(DBusConnection *connection, int timeout_milliseconds)
This function is intended for use with applications that don't want to write a main loop and deal wit...
void dbus_connection_set_dispatch_status_function(DBusConnection *connection, DBusDispatchStatusFunction function, void *data, DBusFreeFunction free_data_function)
Set a function to be invoked when the dispatch status changes.
dbus_bool_t dbus_connection_set_data(DBusConnection *connection, dbus_int32_t slot, void *data, DBusFreeFunction free_data_func)
Stores a pointer on a DBusConnection, along with an optional function to be used for freeing the data...
void dbus_connection_set_route_peer_messages(DBusConnection *connection, dbus_bool_t value)
Normally DBusConnection automatically handles all messages to the org.freedesktop.DBus.Peer interface.
void dbus_connection_return_message(DBusConnection *connection, DBusMessage *message)
Used to return a message after peeking at it using dbus_connection_borrow_message().
Implementation details of DBusPendingCall - all fields are private.
dbus_bool_t dbus_connection_set_timeout_functions(DBusConnection *connection, DBusAddTimeoutFunction add_function, DBusRemoveTimeoutFunction remove_function, DBusTimeoutToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function)
Sets the timeout functions for the connection.
Implementation details of DBusConnection.
void dbus_connection_remove_filter(DBusConnection *connection, DBusHandleMessageFunction function, void *user_data)
Removes a previously-added message filter.
void(* dbus_internal_pad4)(void *)
Reserved for future expansion.
dbus_bool_t dbus_connection_get_unix_user(DBusConnection *connection, unsigned long *uid)
Gets the UNIX user ID of the connection if known.
dbus_bool_t dbus_connection_list_registered(DBusConnection *connection, const char *parent_path, char ***child_entries)
Lists the registered fallback handlers and object path handlers at the given parent_path.
DBUS_EXPORT dbus_bool_t dbus_connection_has_messages_to_send(DBusConnection *connection)
Checks whether there are messages in the outgoing message queue.
void dbus_connection_set_max_received_size(DBusConnection *connection, long size)
Sets the maximum total number of bytes that can be used for all messages received on this connection...
DBusHandlerResult
Results that a message handler can return.
Definition: dbus-shared.h:66
void dbus_connection_steal_borrowed_message(DBusConnection *connection, DBusMessage *message)
Used to keep a message after peeking at it using dbus_connection_borrow_message().
void dbus_connection_free_data_slot(dbus_int32_t *slot_p)
Deallocates a global ID for connection data slots.
void(* DBusRemoveTimeoutFunction)(DBusTimeout *timeout, void *data)
Called when libdbus no longer needs a timeout to be monitored by the main loop.
There is more data to potentially convert to messages.
DBUS_EXPORT dbus_bool_t dbus_timeout_get_enabled(DBusTimeout *timeout)
Returns whether a timeout is enabled or not.
Definition: dbus-timeout.c:486
DBusMessage * dbus_connection_send_with_reply_and_block(DBusConnection *connection, DBusMessage *message, int timeout_milliseconds, DBusError *error)
Sends a message and blocks a certain time period while waiting for a reply.
DBusConnection * dbus_connection_open_private(const char *address, DBusError *error)
Opens a new, dedicated connection to a remote address.
DBusPreallocatedSend * dbus_connection_preallocate_send(DBusConnection *connection)
Preallocates resources needed to send a message, allowing the message to be sent without the possibil...
Virtual table that must be implemented to handle a portion of the object path hierarchy.
Internals of DBusMessage.
void(* DBusObjectPathUnregisterFunction)(DBusConnection *connection, void *user_data)
Called when a DBusObjectPathVTable is unregistered (or its connection is freed).
DBusObjectPathUnregisterFunction unregister_function
Function to unregister this handler.
As in POLLOUT.
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.
Definition: dbus-types.h:35
DBUS_EXPORT int dbus_watch_get_socket(DBusWatch *watch)
Returns a socket to be watched, on UNIX this will return -1 if our transport is not socket-based so d...
Definition: dbus-watch.c:586
void dbus_connection_set_exit_on_disconnect(DBusConnection *connection, dbus_bool_t exit_on_disconnect)
Set whether _exit() should be called when the connection receives a disconnect signal.
DBUS_EXPORT dbus_bool_t dbus_timeout_handle(DBusTimeout *timeout)
Calls the timeout handler for this timeout.
Definition: dbus-timeout.c:472
DBusDispatchStatus dbus_connection_dispatch(DBusConnection *connection)
Processes any incoming data.
dbus_bool_t dbus_connection_send(DBusConnection *connection, DBusMessage *message, dbus_uint32_t *serial)
Adds a message to the outgoing message queue.
DBusDispatchStatus dbus_connection_get_dispatch_status(DBusConnection *connection)
Gets the current state of the incoming message queue.
All currently available data has been processed.
dbus_bool_t(* DBusAddTimeoutFunction)(DBusTimeout *timeout, void *data)
Called when libdbus needs a new timeout to be monitored by the main loop.
void * dbus_connection_get_data(DBusConnection *connection, dbus_int32_t slot)
Retrieves data previously set with dbus_connection_set_data().
long dbus_connection_get_max_message_size(DBusConnection *connection)
Gets the value set by dbus_connection_set_max_message_size().
dbus_bool_t dbus_connection_get_unix_process_id(DBusConnection *connection, unsigned long *pid)
Gets the process ID of the connection if any.
dbus_bool_t dbus_connection_get_is_authenticated(DBusConnection *connection)
Gets whether the connection was authenticated.
void dbus_connection_close(DBusConnection *connection)
Closes a private connection, so no further data can be sent or received.
dbus_bool_t dbus_connection_allocate_data_slot(dbus_int32_t *slot_p)
Allocates an integer ID to be used for storing application-specific data on any DBusConnection.
dbus_bool_t(* DBusAllowUnixUserFunction)(DBusConnection *connection, unsigned long uid, void *data)
Called during authentication to check whether the given UNIX user ID is allowed to connect...
void(* DBusWakeupMainFunction)(void *data)
Called when the main loop's thread should be notified that there's now work to do.
dbus_bool_t dbus_connection_register_object_path(DBusConnection *connection, const char *path, const DBusObjectPathVTable *vtable, void *user_data)
Registers a handler for a given path in the object hierarchy.
void dbus_connection_set_max_message_unix_fds(DBusConnection *connection, long n)
Specifies the maximum number of unix fds a message on this connection is allowed to receive...
long dbus_connection_get_outgoing_unix_fds(DBusConnection *connection)
Gets the approximate number of uni fds of all messages in the outgoing message queue.
long dbus_connection_get_max_received_size(DBusConnection *connection)
Gets the value set by dbus_connection_set_max_received_size().
DBusConnection * dbus_connection_open(const char *address, DBusError *error)
Gets a connection to a remote address.
dbus_bool_t dbus_connection_send_with_reply(DBusConnection *connection, DBusMessage *message, DBusPendingCall **pending_return, int timeout_milliseconds)
Queues a message to send, as with dbus_connection_send(), but also returns a DBusPendingCall used to ...
Object representing an exception.
Definition: dbus-errors.h:48
dbus_bool_t dbus_connection_get_object_path_data(DBusConnection *connection, const char *path, void **data_p)
Gets the user data passed to dbus_connection_register_object_path() or dbus_connection_register_fallb...
dbus_bool_t dbus_connection_get_is_anonymous(DBusConnection *connection)
Gets whether the connection is not authenticated as a specific user.
DBusObjectPathMessageFunction message_function
Function to handle messages.
long dbus_connection_get_max_message_unix_fds(DBusConnection *connection)
Gets the value set by dbus_connection_set_max_message_unix_fds().
dbus_bool_t(* DBusAllowWindowsUserFunction)(DBusConnection *connection, const char *user_sid, void *data)
Called during authentication to check whether the given Windows user ID is allowed to connect...
As in POLLERR (can't watch for this, but can be present in current state passed to dbus_watch_handle(...
DBUS_EXPORT int dbus_watch_get_unix_fd(DBusWatch *watch)
Returns a UNIX file descriptor to be watched, which may be a pipe, socket, or other type of descripto...
Definition: dbus-watch.c:557
void dbus_connection_set_allow_anonymous(DBusConnection *connection, dbus_bool_t value)
This function must be called on the server side of a connection when the connection is first seen in ...
void(* DBusTimeoutToggledFunction)(DBusTimeout *timeout, void *data)
Called when dbus_timeout_get_enabled() may return a different value than it did before.
As in POLLHUP (can't watch for it, but can be present in current state passed to dbus_watch_handle())...
DBUS_EXPORT DBUS_DEPRECATED int dbus_watch_get_fd(DBusWatch *watch)
Deprecated former name of dbus_watch_get_unix_fd().
Definition: dbus-watch.c:536
dbus_bool_t(* DBusAddWatchFunction)(DBusWatch *watch, void *data)
Called when libdbus needs a new watch to be monitored by the main loop.
DBusHandlerResult(* DBusObjectPathMessageFunction)(DBusConnection *connection, DBusMessage *message, void *user_data)
Called when a message is sent to a registered object path.
DBUS_EXPORT void dbus_watch_set_data(DBusWatch *watch, void *data, DBusFreeFunction free_data_function)
Sets data which can be retrieved with dbus_watch_get_data().
Definition: dbus-watch.c:642
void(* DBusRemoveWatchFunction)(DBusWatch *watch, void *data)
Called when libdbus no longer needs a watch to be monitored by the main loop.
void dbus_connection_set_wakeup_main_function(DBusConnection *connection, DBusWakeupMainFunction wakeup_main_function, void *data, DBusFreeFunction free_data_function)
Sets the mainloop wakeup function for the connection.
void(* dbus_internal_pad1)(void *)
Reserved for future expansion.
DBUS_EXPORT void * dbus_watch_get_data(DBusWatch *watch)
Gets data previously set with dbus_watch_set_data() or NULL if none.
Definition: dbus-watch.c:623
DBusMessage * dbus_connection_pop_message(DBusConnection *connection)
Returns the first-received message from the incoming message queue, removing it from the queue...
Internals of DBusPreallocatedSend.
void dbus_connection_set_unix_user_function(DBusConnection *connection, DBusAllowUnixUserFunction function, void *data, DBusFreeFunction free_data_function)
Sets a predicate function used to determine whether a given user ID is allowed to connect...
void(* DBusDispatchStatusFunction)(DBusConnection *connection, DBusDispatchStatus new_status, void *data)
Called when the return value of dbus_connection_get_dispatch_status() may have changed.
dbus_bool_t dbus_connection_set_watch_functions(DBusConnection *connection, DBusAddWatchFunction add_function, DBusRemoveWatchFunction remove_function, DBusWatchToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function)
Sets the watch functions for the connection.
DBusHandlerResult(* DBusHandleMessageFunction)(DBusConnection *connection, DBusMessage *message, void *user_data)
Called when a message needs to be handled.
dbus_bool_t dbus_connection_register_fallback(DBusConnection *connection, const char *path, const DBusObjectPathVTable *vtable, void *user_data)
Registers a fallback handler for a given subsection of the object hierarchy.
dbus_bool_t dbus_connection_get_adt_audit_session_data(DBusConnection *connection, void **data, dbus_int32_t *data_size)
Gets the ADT audit data of the connection if any.
void(* dbus_internal_pad3)(void *)
Reserved for future expansion.
DBUS_EXPORT void dbus_timeout_set_data(DBusTimeout *timeout, void *data, DBusFreeFunction free_data_function)
Sets data which can be retrieved with dbus_timeout_get_data().
Definition: dbus-timeout.c:446
DBUS_EXPORT void * dbus_timeout_get_data(DBusTimeout *timeout)
Gets data previously set with dbus_timeout_set_data() or NULL if none.
Definition: dbus-timeout.c:429
char * dbus_connection_get_server_id(DBusConnection *connection)
Gets the ID of the server address we are authenticated to, if this connection is on the client side...
DBUS_EXPORT dbus_bool_t dbus_watch_handle(DBusWatch *watch, unsigned int flags)
Called to notify the D-Bus library when a previously-added watch is ready for reading or writing...
Definition: dbus-watch.c:698
dbus_bool_t dbus_connection_get_unix_fd(DBusConnection *connection, int *fd)
Get the UNIX file descriptor of the connection, if any.
dbus_bool_t dbus_connection_get_is_connected(DBusConnection *connection)
Gets whether the connection is currently open.
DBUS_EXPORT unsigned int dbus_watch_get_flags(DBusWatch *watch)
Gets flags from DBusWatchFlags indicating what conditions should be monitored on the file descriptor...
Definition: dbus-watch.c:607
As in POLLIN.
void dbus_connection_send_preallocated(DBusConnection *connection, DBusPreallocatedSend *preallocated, DBusMessage *message, dbus_uint32_t *client_serial)
Sends a message using preallocated resources.
void dbus_connection_unref(DBusConnection *connection)
Decrements the reference count of a DBusConnection, and finalizes it if the count reaches zero...
DBusMessage * dbus_connection_borrow_message(DBusConnection *connection)
Returns the first-received message from the incoming message queue, leaving it in the queue...
int dbus_int32_t
A 32-bit signed integer on all platforms.
dbus_bool_t dbus_connection_add_filter(DBusConnection *connection, DBusHandleMessageFunction function, void *user_data, DBusFreeFunction free_data_function)
Adds a message filter.
dbus_bool_t dbus_connection_unregister_object_path(DBusConnection *connection, const char *path)
Unregisters the handler registered with exactly the given path.
long dbus_connection_get_max_received_unix_fds(DBusConnection *connection)
Gets the value set by dbus_connection_set_max_received_unix_fds().
dbus_bool_t dbus_connection_try_register_object_path(DBusConnection *connection, const char *path, const DBusObjectPathVTable *vtable, void *user_data, DBusError *error)
Registers a handler for a given path in the object hierarchy.
void dbus_connection_flush(DBusConnection *connection)
Blocks until the outgoing message queue is empty.
void dbus_connection_set_max_received_unix_fds(DBusConnection *connection, long n)
Sets the maximum total number of unix fds that can be used for all messages received on this connecti...
dbus_bool_t dbus_connection_get_socket(DBusConnection *connection, int *fd)
Gets the underlying Windows or UNIX socket file descriptor of the connection, if any.
void dbus_connection_free_preallocated_send(DBusConnection *connection, DBusPreallocatedSend *preallocated)
Frees preallocated message-sending resources from dbus_connection_preallocate_send().
DBUS_EXPORT int dbus_timeout_get_interval(DBusTimeout *timeout)
Gets the timeout interval.
Definition: dbus-timeout.c:416
dbus_bool_t dbus_connection_read_write_dispatch(DBusConnection *connection, int timeout_milliseconds)
This function is intended for use with applications that don't want to write a main loop and deal wit...
#define DBUS_END_DECLS
Macro used after declaring functions in the D-Bus header files.