D-Bus 1.15.8
Data Structures | Typedefs | Functions
DBusServer implementation details

Implementation details of DBusServer. More...

Data Structures

struct  DBusServer
 Internals of DBusServer object. More...
 

Typedefs

typedef dbus_bool_t(* DBusWatchAddFunction) (DBusWatchList *list, DBusWatch *watch)
 Function to be called in protected_change_watch() with refcount held. More...
 
typedef void(* DBusWatchRemoveFunction) (DBusWatchList *list, DBusWatch *watch)
 Function to be called in protected_change_watch() with refcount held. More...
 
typedef void(* DBusWatchToggleFunction) (DBusWatchList *list, DBusWatch *watch, dbus_bool_t enabled)
 Function to be called in protected_change_watch() with refcount held. More...
 
typedef dbus_bool_t(* DBusTimeoutAddFunction) (DBusTimeoutList *list, DBusTimeout *timeout)
 Function to be called in protected_change_timeout() with refcount held. More...
 
typedef void(* DBusTimeoutRemoveFunction) (DBusTimeoutList *list, DBusTimeout *timeout)
 Function to be called in protected_change_timeout() with refcount held. More...
 
typedef void(* DBusTimeoutToggleFunction) (DBusTimeoutList *list, DBusTimeout *timeout, dbus_bool_t enabled)
 Function to be called in protected_change_timeout() with refcount held. More...
 

Functions

void _dbus_server_trace_ref (DBusServer *server, int old_refcount, int new_refcount, const char *why)
 
dbus_bool_t _dbus_server_init_base (DBusServer *server, const DBusServerVTable *vtable, const DBusString *address, DBusError *error)
 Initializes the members of the DBusServer base class. More...
 
void _dbus_server_finalize_base (DBusServer *server)
 Finalizes the members of the DBusServer base class. More...
 
dbus_bool_t _dbus_server_add_watch (DBusServer *server, DBusWatch *watch)
 Adds a watch for this server, chaining out to application-provided watch handlers. More...
 
void _dbus_server_remove_watch (DBusServer *server, DBusWatch *watch)
 Removes a watch previously added with _dbus_server_remove_watch(). More...
 
void _dbus_server_toggle_all_watches (DBusServer *server, dbus_bool_t enabled)
 Toggles all watch and notifies app via server's DBusWatchToggledFunction if available. More...
 
dbus_bool_t _dbus_server_add_timeout (DBusServer *server, DBusTimeout *timeout)
 Adds a timeout for this server, chaining out to application-provided timeout handlers. More...
 
void _dbus_server_remove_timeout (DBusServer *server, DBusTimeout *timeout)
 Removes a timeout previously added with _dbus_server_add_timeout(). More...
 
void _dbus_server_toggle_timeout (DBusServer *server, DBusTimeout *timeout, dbus_bool_t enabled)
 Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available. More...
 
void _dbus_server_ref_unlocked (DBusServer *server)
 Like dbus_server_ref() but does not acquire the lock (must already be held) More...
 
void _dbus_server_unref_unlocked (DBusServer *server)
 Like dbus_server_unref() but does not acquire the lock (must already be held) More...
 

Detailed Description

Implementation details of DBusServer.

Typedef Documentation

◆ DBusTimeoutAddFunction

typedef dbus_bool_t(* DBusTimeoutAddFunction) (DBusTimeoutList *list, DBusTimeout *timeout)

Function to be called in protected_change_timeout() with refcount held.

Definition at line 338 of file dbus-server.c.

◆ DBusTimeoutRemoveFunction

typedef void(* DBusTimeoutRemoveFunction) (DBusTimeoutList *list, DBusTimeout *timeout)

Function to be called in protected_change_timeout() with refcount held.

Definition at line 341 of file dbus-server.c.

◆ DBusTimeoutToggleFunction

typedef void(* DBusTimeoutToggleFunction) (DBusTimeoutList *list, DBusTimeout *timeout, dbus_bool_t enabled)

Function to be called in protected_change_timeout() with refcount held.

Definition at line 344 of file dbus-server.c.

◆ DBusWatchAddFunction

typedef dbus_bool_t(* DBusWatchAddFunction) (DBusWatchList *list, DBusWatch *watch)

Function to be called in protected_change_watch() with refcount held.

Definition at line 231 of file dbus-server.c.

◆ DBusWatchRemoveFunction

typedef void(* DBusWatchRemoveFunction) (DBusWatchList *list, DBusWatch *watch)

Function to be called in protected_change_watch() with refcount held.

Definition at line 234 of file dbus-server.c.

◆ DBusWatchToggleFunction

typedef void(* DBusWatchToggleFunction) (DBusWatchList *list, DBusWatch *watch, dbus_bool_t enabled)

Function to be called in protected_change_watch() with refcount held.

Definition at line 237 of file dbus-server.c.

Function Documentation

◆ _dbus_server_add_timeout()

dbus_bool_t _dbus_server_add_timeout ( DBusServer server,
DBusTimeout timeout 
)

Adds a timeout for this server, chaining out to application-provided timeout handlers.

The timeout should be repeatedly handled with dbus_timeout_handle() at its given interval until it is removed.

Parameters
serverthe server.
timeoutthe timeout to add.

Definition at line 406 of file dbus-server.c.

◆ _dbus_server_add_watch()

dbus_bool_t _dbus_server_add_watch ( DBusServer server,
DBusWatch watch 
)

Adds a watch for this server, chaining out to application-provided watch handlers.

Parameters
serverthe server.
watchthe watch to add.

Definition at line 297 of file dbus-server.c.

◆ _dbus_server_finalize_base()

void _dbus_server_finalize_base ( DBusServer server)

◆ _dbus_server_init_base()

dbus_bool_t _dbus_server_init_base ( DBusServer server,
const DBusServerVTable vtable,
const DBusString address,
DBusError error 
)

Initializes the members of the DBusServer base class.

Chained up to by subclass constructors.

Parameters
serverthe server.
vtablethe vtable for the subclass.
addressthe server's address
errorlocation to store reason for failure
Returns
TRUE on success.

Definition at line 113 of file dbus-server.c.

References _dbus_assert, _dbus_atomic_inc(), _dbus_generate_uuid(), _dbus_string_init(), _dbus_uuid_encode(), DBusServer::address, FALSE, DBusServer::guid, DBusServer::guid_hex, NULL, DBusServer::published_address, DBusServer::refcount, DBusServer::timeouts, DBusServer::vtable, and DBusServer::watches.

◆ _dbus_server_ref_unlocked()

void _dbus_server_ref_unlocked ( DBusServer server)

Like dbus_server_ref() but does not acquire the lock (must already be held)

Parameters
serverthe server.

Definition at line 457 of file dbus-server.c.

References _dbus_assert, _dbus_atomic_inc(), NULL, and DBusServer::refcount.

◆ _dbus_server_remove_timeout()

void _dbus_server_remove_timeout ( DBusServer server,
DBusTimeout timeout 
)

Removes a timeout previously added with _dbus_server_add_timeout().

Parameters
serverthe server.
timeoutthe timeout to remove.

Definition at line 421 of file dbus-server.c.

◆ _dbus_server_remove_watch()

void _dbus_server_remove_watch ( DBusServer server,
DBusWatch watch 
)

Removes a watch previously added with _dbus_server_remove_watch().

Parameters
serverthe server.
watchthe watch to remove.

Definition at line 313 of file dbus-server.c.

◆ _dbus_server_toggle_all_watches()

void _dbus_server_toggle_all_watches ( DBusServer server,
dbus_bool_t  enabled 
)

Toggles all watch and notifies app via server's DBusWatchToggledFunction if available.

Parameters
serverthe server.
enabledwhether to enable or disable

Definition at line 331 of file dbus-server.c.

References _dbus_watch_list_toggle_all_watches(), and DBusServer::watches.

◆ _dbus_server_toggle_timeout()

void _dbus_server_toggle_timeout ( DBusServer server,
DBusTimeout timeout,
dbus_bool_t  enabled 
)

Toggles a timeout and notifies app via server's DBusTimeoutToggledFunction if available.

It's an error to call this function on a timeout that was not previously added.

Parameters
serverthe server.
timeoutthe timeout to toggle.
enabledwhether to enable or disable

Definition at line 440 of file dbus-server.c.

◆ _dbus_server_trace_ref()

void _dbus_server_trace_ref ( DBusServer server,
int  old_refcount,
int  new_refcount,
const char *  why 
)

Definition at line 59 of file dbus-server.c.

◆ _dbus_server_unref_unlocked()

void _dbus_server_unref_unlocked ( DBusServer server)

Like dbus_server_unref() but does not acquire the lock (must already be held)

Parameters
serverthe server.

Definition at line 476 of file dbus-server.c.

References _dbus_assert, _dbus_atomic_dec(), NULL, and DBusServer::refcount.