D-Bus  1.12.18
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-macros.h>
32 #include <dbus/dbus-memory.h>
33 #include <dbus/dbus-message.h>
34 #include <dbus/dbus-shared.h>
35 
37 
43 /* documented in dbus-watch.c */
44 typedef struct DBusWatch DBusWatch;
45 /* documented in dbus-timeout.c */
46 typedef struct DBusTimeout DBusTimeout;
55 
59 typedef enum
60 {
63  DBUS_WATCH_ERROR = 1 << 2,
73  /* Internal to libdbus, there is also _DBUS_WATCH_NVAL in dbus-watch.h */
75 
80 typedef enum
81 {
86 
93  void *data);
98 typedef void (* DBusWatchToggledFunction) (DBusWatch *watch,
99  void *data);
104 typedef void (* DBusRemoveWatchFunction) (DBusWatch *watch,
105  void *data);
112  void *data);
118 typedef void (* DBusTimeoutToggledFunction) (DBusTimeout *timeout,
119  void *data);
124 typedef void (* DBusRemoveTimeoutFunction) (DBusTimeout *timeout,
125  void *data);
129 typedef void (* DBusDispatchStatusFunction) (DBusConnection *connection,
130  DBusDispatchStatus new_status,
131  void *data);
136 typedef void (* DBusWakeupMainFunction) (void *data);
137 
145  unsigned long uid,
146  void *data);
147 
155  const char *user_sid,
156  void *data);
157 
158 
164  void *user_data);
165 
171  DBusMessage *message,
172  void *user_data);
173 DBUS_EXPORT
174 DBusConnection* dbus_connection_open (const char *address,
175  DBusError *error);
176 DBUS_EXPORT
177 DBusConnection* dbus_connection_open_private (const char *address,
178  DBusError *error);
179 DBUS_EXPORT
181 DBUS_EXPORT
182 void dbus_connection_unref (DBusConnection *connection);
183 DBUS_EXPORT
184 void dbus_connection_close (DBusConnection *connection);
185 DBUS_EXPORT
187 DBUS_EXPORT
189 DBUS_EXPORT
191 DBUS_EXPORT
193 DBUS_EXPORT
195  int type);
196 
197 DBUS_EXPORT
199  dbus_bool_t exit_on_disconnect);
200 DBUS_EXPORT
201 void dbus_connection_flush (DBusConnection *connection);
202 DBUS_EXPORT
204  int timeout_milliseconds);
205 DBUS_EXPORT
207  int timeout_milliseconds);
208 DBUS_EXPORT
210 DBUS_EXPORT
212  DBusMessage *message);
213 DBUS_EXPORT
215  DBusMessage *message);
216 DBUS_EXPORT
218 DBUS_EXPORT
220 DBUS_EXPORT
222 DBUS_EXPORT
224 DBUS_EXPORT
226  DBusMessage *message,
227  dbus_uint32_t *client_serial);
228 DBUS_EXPORT
230  DBusMessage *message,
231  DBusPendingCall **pending_return,
232  int timeout_milliseconds);
233 DBUS_EXPORT
235  DBusMessage *message,
236  int timeout_milliseconds,
237  DBusError *error);
238 DBUS_EXPORT
240  DBusAddWatchFunction add_function,
241  DBusRemoveWatchFunction remove_function,
242  DBusWatchToggledFunction toggled_function,
243  void *data,
244  DBusFreeFunction free_data_function);
245 DBUS_EXPORT
247  DBusAddTimeoutFunction add_function,
248  DBusRemoveTimeoutFunction remove_function,
249  DBusTimeoutToggledFunction toggled_function,
250  void *data,
251  DBusFreeFunction free_data_function);
252 DBUS_EXPORT
254  DBusWakeupMainFunction wakeup_main_function,
255  void *data,
256  DBusFreeFunction free_data_function);
257 DBUS_EXPORT
260  void *data,
261  DBusFreeFunction free_data_function);
262 DBUS_EXPORT
264  unsigned long *uid);
265 DBUS_EXPORT
267  unsigned long *pid);
268 DBUS_EXPORT
270  void **data,
271  dbus_int32_t *data_size);
272 DBUS_EXPORT
274  DBusAllowUnixUserFunction function,
275  void *data,
276  DBusFreeFunction free_data_function);
277 DBUS_EXPORT
279  char **windows_sid_p);
280 DBUS_EXPORT
283  void *data,
284  DBusFreeFunction free_data_function);
285 DBUS_EXPORT
287  dbus_bool_t value);
288 DBUS_EXPORT
290  dbus_bool_t value);
291 
292 
293 /* Filters */
294 
295 DBUS_EXPORT
297  DBusHandleMessageFunction function,
298  void *user_data,
299  DBusFreeFunction free_data_function);
300 DBUS_EXPORT
302  DBusHandleMessageFunction function,
303  void *user_data);
304 
305 
306 /* Other */
307 DBUS_EXPORT
309 DBUS_EXPORT
311 DBUS_EXPORT
313  dbus_int32_t slot,
314  void *data,
315  DBusFreeFunction free_data_func);
316 DBUS_EXPORT
317 void* dbus_connection_get_data (DBusConnection *connection,
318  dbus_int32_t slot);
319 
320 DBUS_EXPORT
321 void dbus_connection_set_change_sigpipe (dbus_bool_t will_modify_sigpipe);
322 
323 DBUS_EXPORT
325  long size);
326 DBUS_EXPORT
328 DBUS_EXPORT
330  long size);
331 DBUS_EXPORT
333 
334 DBUS_EXPORT
336  long n);
337 DBUS_EXPORT
339 DBUS_EXPORT
341  long n);
342 DBUS_EXPORT
344 
345 DBUS_EXPORT
347 DBUS_EXPORT
349 
350 DBUS_EXPORT
352 DBUS_EXPORT
354  DBusPreallocatedSend *preallocated);
355 DBUS_EXPORT
357  DBusPreallocatedSend *preallocated,
358  DBusMessage *message,
359  dbus_uint32_t *client_serial);
360 
361 
362 /* Object tree functionality */
363 
368 typedef void (* DBusObjectPathUnregisterFunction) (DBusConnection *connection,
369  void *user_data);
376  DBusMessage *message,
377  void *user_data);
378 
386 {
390  void (* dbus_internal_pad1) (void *);
391  void (* dbus_internal_pad2) (void *);
392  void (* dbus_internal_pad3) (void *);
393  void (* dbus_internal_pad4) (void *);
394 };
395 
396 DBUS_EXPORT
398  const char *path,
399  const DBusObjectPathVTable *vtable,
400  void *user_data,
401  DBusError *error);
402 
403 DBUS_EXPORT
405  const char *path,
406  const DBusObjectPathVTable *vtable,
407  void *user_data);
408 
409 DBUS_EXPORT
411  const char *path,
412  const DBusObjectPathVTable *vtable,
413  void *user_data,
414  DBusError *error);
415 
416 DBUS_EXPORT
418  const char *path,
419  const DBusObjectPathVTable *vtable,
420  void *user_data);
421 DBUS_EXPORT
423  const char *path);
424 
425 DBUS_EXPORT
427  const char *path,
428  void **data_p);
429 
430 DBUS_EXPORT
432  const char *parent_path,
433  char ***child_entries);
434 
435 DBUS_EXPORT
437  int *fd);
438 DBUS_EXPORT
440  int *fd);
441 
464 static inline void
465 dbus_clear_connection (DBusConnection **pointer_to_connection)
466 {
467  _dbus_clear_pointer_impl (DBusConnection, pointer_to_connection,
469 }
470 
479 #ifndef DBUS_DISABLE_DEPRECATED
480 DBUS_EXPORT
482 #endif
483 
484 DBUS_EXPORT
485 int dbus_watch_get_unix_fd (DBusWatch *watch);
486 DBUS_EXPORT
487 int dbus_watch_get_socket (DBusWatch *watch);
488 DBUS_EXPORT
489 unsigned int dbus_watch_get_flags (DBusWatch *watch);
490 DBUS_EXPORT
491 void* dbus_watch_get_data (DBusWatch *watch);
492 DBUS_EXPORT
493 void dbus_watch_set_data (DBusWatch *watch,
494  void *data,
495  DBusFreeFunction free_data_function);
496 DBUS_EXPORT
498  unsigned int flags);
499 DBUS_EXPORT
501 
509 DBUS_EXPORT
511 DBUS_EXPORT
512 void* dbus_timeout_get_data (DBusTimeout *timeout);
513 DBUS_EXPORT
514 void dbus_timeout_set_data (DBusTimeout *timeout,
515  void *data,
516  DBusFreeFunction free_data_function);
517 DBUS_EXPORT
519 DBUS_EXPORT
521 
525 
526 #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:63
#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:703
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....
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:514
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:594
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:500
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:565
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:544
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:678
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:659
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:474
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:457
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:734
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:643
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:444
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.