D-Bus  1.16.2
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  * SPDX-License-Identifier: AFL-2.1 OR GPL-2.0-or-later
7  *
8  * Licensed under the Academic Free License version 2.1
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
26 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
27 #endif
28 
29 #ifndef DBUS_CONNECTION_H
30 #define DBUS_CONNECTION_H
31 
32 #include <dbus/dbus-errors.h>
33 #include <dbus/dbus-macros.h>
34 #include <dbus/dbus-memory.h>
35 #include <dbus/dbus-message.h>
36 #include <dbus/dbus-shared.h>
37 
39 
45 /* documented in dbus-watch.c */
46 typedef struct DBusWatch DBusWatch;
47 /* documented in dbus-timeout.c */
48 typedef struct DBusTimeout DBusTimeout;
57 
61 typedef enum
62 {
65  DBUS_WATCH_ERROR = 1 << 2,
75  /* Internal to libdbus, there is also _DBUS_WATCH_NVAL in dbus-watch.h */
77 
82 typedef enum
83 {
88 
95  void *data);
100 typedef void (* DBusWatchToggledFunction) (DBusWatch *watch,
101  void *data);
106 typedef void (* DBusRemoveWatchFunction) (DBusWatch *watch,
107  void *data);
114  void *data);
120 typedef void (* DBusTimeoutToggledFunction) (DBusTimeout *timeout,
121  void *data);
126 typedef void (* DBusRemoveTimeoutFunction) (DBusTimeout *timeout,
127  void *data);
131 typedef void (* DBusDispatchStatusFunction) (DBusConnection *connection,
132  DBusDispatchStatus new_status,
133  void *data);
138 typedef void (* DBusWakeupMainFunction) (void *data);
139 
147  unsigned long uid,
148  void *data);
149 
157  const char *user_sid,
158  void *data);
159 
160 
166  void *user_data);
167 
173  DBusMessage *message,
174  void *user_data);
175 DBUS_EXPORT
176 DBusConnection* dbus_connection_open (const char *address,
177  DBusError *error);
178 DBUS_EXPORT
179 DBusConnection* dbus_connection_open_private (const char *address,
180  DBusError *error);
181 DBUS_EXPORT
183 DBUS_EXPORT
184 void dbus_connection_unref (DBusConnection *connection);
185 DBUS_EXPORT
186 void dbus_connection_close (DBusConnection *connection);
187 DBUS_EXPORT
189 DBUS_EXPORT
191 DBUS_EXPORT
193 DBUS_EXPORT
195 DBUS_EXPORT
197  int type);
198 
199 DBUS_EXPORT
201  dbus_bool_t exit_on_disconnect);
202 DBUS_EXPORT
203 void dbus_connection_flush (DBusConnection *connection);
204 DBUS_EXPORT
206  int timeout_milliseconds);
207 DBUS_EXPORT
209  int timeout_milliseconds);
210 DBUS_EXPORT
212 DBUS_EXPORT
214  DBusMessage *message);
215 DBUS_EXPORT
217  DBusMessage *message);
218 DBUS_EXPORT
220 DBUS_EXPORT
222 DBUS_EXPORT
224 DBUS_EXPORT
226 DBUS_EXPORT
228  DBusMessage *message,
229  dbus_uint32_t *client_serial);
230 DBUS_EXPORT
232  DBusMessage *message,
233  DBusPendingCall **pending_return,
234  int timeout_milliseconds);
235 DBUS_EXPORT
237  DBusMessage *message,
238  int timeout_milliseconds,
239  DBusError *error);
240 DBUS_EXPORT
242  DBusAddWatchFunction add_function,
243  DBusRemoveWatchFunction remove_function,
244  DBusWatchToggledFunction toggled_function,
245  void *data,
246  DBusFreeFunction free_data_function);
247 DBUS_EXPORT
249  DBusAddTimeoutFunction add_function,
250  DBusRemoveTimeoutFunction remove_function,
251  DBusTimeoutToggledFunction toggled_function,
252  void *data,
253  DBusFreeFunction free_data_function);
254 DBUS_EXPORT
256  DBusWakeupMainFunction wakeup_main_function,
257  void *data,
258  DBusFreeFunction free_data_function);
259 DBUS_EXPORT
262  void *data,
263  DBusFreeFunction free_data_function);
264 DBUS_EXPORT
266  unsigned long *uid);
267 DBUS_EXPORT
269  unsigned long *pid);
270 DBUS_EXPORT
272  void **data,
273  dbus_int32_t *data_size);
274 DBUS_EXPORT
276  DBusAllowUnixUserFunction function,
277  void *data,
278  DBusFreeFunction free_data_function);
279 DBUS_EXPORT
281  char **windows_sid_p);
282 DBUS_EXPORT
285  void *data,
286  DBusFreeFunction free_data_function);
287 DBUS_EXPORT
289  dbus_bool_t value);
290 DBUS_EXPORT
292  dbus_bool_t value);
293 DBUS_EXPORT
295  dbus_bool_t value);
296 
297 
298 /* Filters */
299 
300 DBUS_EXPORT
302  DBusHandleMessageFunction function,
303  void *user_data,
304  DBusFreeFunction free_data_function);
305 DBUS_EXPORT
307  DBusHandleMessageFunction function,
308  void *user_data);
309 
310 
311 /* Other */
312 DBUS_EXPORT
314 DBUS_EXPORT
316 DBUS_EXPORT
318  dbus_int32_t slot,
319  void *data,
320  DBusFreeFunction free_data_func);
321 DBUS_EXPORT
322 void* dbus_connection_get_data (DBusConnection *connection,
323  dbus_int32_t slot);
324 
325 DBUS_EXPORT
326 void dbus_connection_set_change_sigpipe (dbus_bool_t will_modify_sigpipe);
327 
328 DBUS_EXPORT
330  long size);
331 DBUS_EXPORT
333 DBUS_EXPORT
335  long size);
336 DBUS_EXPORT
338 
339 DBUS_EXPORT
341  long n);
342 DBUS_EXPORT
344 DBUS_EXPORT
346  long n);
347 DBUS_EXPORT
349 
350 DBUS_EXPORT
352 DBUS_EXPORT
354 
355 DBUS_EXPORT
357 DBUS_EXPORT
359  DBusPreallocatedSend *preallocated);
360 DBUS_EXPORT
362  DBusPreallocatedSend *preallocated,
363  DBusMessage *message,
364  dbus_uint32_t *client_serial);
365 
366 
367 /* Object tree functionality */
368 
373 typedef void (* DBusObjectPathUnregisterFunction) (DBusConnection *connection,
374  void *user_data);
381  DBusMessage *message,
382  void *user_data);
383 
391 {
395  void (* dbus_internal_pad1) (void *);
396  void (* dbus_internal_pad2) (void *);
397  void (* dbus_internal_pad3) (void *);
398  void (* dbus_internal_pad4) (void *);
399 };
400 
401 DBUS_EXPORT
403  const char *path,
404  const DBusObjectPathVTable *vtable,
405  void *user_data,
406  DBusError *error);
407 
408 DBUS_EXPORT
410  const char *path,
411  const DBusObjectPathVTable *vtable,
412  void *user_data);
413 
414 DBUS_EXPORT
416  const char *path,
417  const DBusObjectPathVTable *vtable,
418  void *user_data,
419  DBusError *error);
420 
421 DBUS_EXPORT
423  const char *path,
424  const DBusObjectPathVTable *vtable,
425  void *user_data);
426 DBUS_EXPORT
428  const char *path);
429 
430 DBUS_EXPORT
432  const char *path,
433  void **data_p);
434 
435 DBUS_EXPORT
437  const char *parent_path,
438  char ***child_entries);
439 
440 DBUS_EXPORT
442  int *fd);
443 DBUS_EXPORT
445  int *fd);
446 
469 static inline void
470 dbus_clear_connection (DBusConnection **pointer_to_connection)
471 {
472  _dbus_clear_pointer_impl (DBusConnection, pointer_to_connection,
474 }
475 
484 #ifndef DBUS_DISABLE_DEPRECATED
485 DBUS_EXPORT
487 #endif
488 
489 DBUS_EXPORT
490 int dbus_watch_get_unix_fd (DBusWatch *watch);
491 DBUS_EXPORT
492 int dbus_watch_get_socket (DBusWatch *watch);
493 DBUS_EXPORT
494 unsigned int dbus_watch_get_flags (DBusWatch *watch);
495 DBUS_EXPORT
496 void* dbus_watch_get_data (DBusWatch *watch);
497 DBUS_EXPORT
498 void dbus_watch_set_data (DBusWatch *watch,
499  void *data,
500  DBusFreeFunction free_data_function);
501 DBUS_EXPORT
503  unsigned int flags);
504 DBUS_EXPORT
506 
514 DBUS_EXPORT
516 DBUS_EXPORT
517 void* dbus_timeout_get_data (DBusTimeout *timeout);
518 DBUS_EXPORT
519 void dbus_timeout_set_data (DBusTimeout *timeout,
520  void *data,
521  DBusFreeFunction free_data_function);
522 DBUS_EXPORT
524 DBUS_EXPORT
526 
530 
531 #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:42
DBusDispatchStatus
Indicates the status of incoming data on a DBusConnection.
Implementation of DBusWatch.
Definition: dbus-watch.c:42
void(* DBusFreeFunction)(void *memory)
The type of a function which frees a block of memory.
Definition: dbus-memory.h:65
#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:704
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:68
void dbus_connection_set_builtin_filters_enabled(DBusConnection *connection, dbus_bool_t value)
Enables the builtin filtering of messages.
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:37
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:595
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:50
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:566
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:545
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:679
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:660
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:735
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:644
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: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.