D-Bus 1.16.0
|
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. | |
typedef void(* | DBusWatchRemoveFunction) (DBusWatchList *list, DBusWatch *watch) |
Function to be called in protected_change_watch() with refcount held. | |
typedef void(* | DBusWatchToggleFunction) (DBusWatchList *list, DBusWatch *watch, dbus_bool_t enabled) |
Function to be called in protected_change_watch() with refcount held. | |
typedef dbus_bool_t(* | DBusTimeoutAddFunction) (DBusTimeoutList *list, DBusTimeout *timeout) |
Function to be called in protected_change_timeout() with refcount held. | |
typedef void(* | DBusTimeoutRemoveFunction) (DBusTimeoutList *list, DBusTimeout *timeout) |
Function to be called in protected_change_timeout() with refcount held. | |
typedef void(* | DBusTimeoutToggleFunction) (DBusTimeoutList *list, DBusTimeout *timeout, dbus_bool_t enabled) |
Function to be called in protected_change_timeout() with refcount held. | |
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. | |
void | _dbus_server_finalize_base (DBusServer *server) |
Finalizes the members of the DBusServer base class. | |
dbus_bool_t | _dbus_server_add_watch (DBusServer *server, DBusWatch *watch) |
Adds a watch for this server, chaining out to application-provided watch handlers. | |
void | _dbus_server_remove_watch (DBusServer *server, DBusWatch *watch) |
Removes a watch previously added with _dbus_server_remove_watch(). | |
void | _dbus_server_toggle_all_watches (DBusServer *server, dbus_bool_t enabled) |
Toggles all watch and notifies app via server's DBusWatchToggledFunction if available. | |
dbus_bool_t | _dbus_server_add_timeout (DBusServer *server, DBusTimeout *timeout) |
Adds a timeout for this server, chaining out to application-provided timeout handlers. | |
void | _dbus_server_remove_timeout (DBusServer *server, DBusTimeout *timeout) |
Removes a timeout previously added with _dbus_server_add_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. | |
void | _dbus_server_ref_unlocked (DBusServer *server) |
Like dbus_server_ref() but does not acquire the lock (must already be held) | |
void | _dbus_server_unref_unlocked (DBusServer *server) |
Like dbus_server_unref() but does not acquire the lock (must already be held) | |
Implementation details of DBusServer.
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.
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.
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.
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.
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.
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.
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.
server | the server. |
timeout | the timeout to add. |
Definition at line 406 of file dbus-server.c.
References _dbus_timeout_list_add_timeout(), FALSE, and NULL.
dbus_bool_t _dbus_server_add_watch | ( | DBusServer * | server, |
DBusWatch * | watch | ||
) |
Adds a watch for this server, chaining out to application-provided watch handlers.
server | the server. |
watch | the watch to add. |
Definition at line 297 of file dbus-server.c.
References _dbus_watch_list_add_watch(), FALSE, and NULL.
Referenced by _dbus_server_new_for_socket().
void _dbus_server_finalize_base | ( | DBusServer * | server | ) |
Finalizes the members of the DBusServer base class.
Chained up to by subclass finalizers.
server | the server. |
Definition at line 202 of file dbus-server.c.
References _dbus_assert, _dbus_data_slot_list_free(), _dbus_rmutex_free_at_location(), _dbus_string_free(), _dbus_timeout_list_free(), _dbus_watch_list_free(), DBusServer::address, DBusServer::auth_mechanisms, dbus_free(), dbus_free_string_array(), dbus_server_set_new_connection_function(), DBusServer::disconnected, DBusServer::guid_hex, DBusServer::have_server_lock, DBusServer::mutex, NULL, DBusServer::slot_list, DBusServer::timeouts, and DBusServer::watches.
Referenced by _dbus_server_new_for_socket().
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.
server | the server. |
vtable | the vtable for the subclass. |
address | the server's address |
error | location to store reason for failure |
Definition at line 113 of file dbus-server.c.
References _dbus_assert, _dbus_atomic_inc(), _dbus_data_slot_list_init(), _dbus_generate_uuid(), _dbus_rmutex_free_at_location(), _dbus_rmutex_new_at_location(), _dbus_string_free(), _dbus_string_init(), _dbus_timeout_list_free(), _dbus_timeout_list_new(), _dbus_uuid_encode(), _dbus_watch_list_free(), _dbus_watch_list_new(), DBusServer::address, dbus_free(), FALSE, DBusServer::guid, DBusServer::guid_hex, DBusServer::mutex, NULL, DBusServer::published_address, DBusServer::refcount, DBusServer::slot_list, DBusServer::timeouts, TRUE, DBusServer::vtable, and DBusServer::watches.
Referenced by _dbus_server_new_for_socket().
void _dbus_server_ref_unlocked | ( | DBusServer * | server | ) |
Like dbus_server_ref() but does not acquire the lock (must already be held)
server | the server. |
Definition at line 457 of file dbus-server.c.
References _dbus_assert, _dbus_atomic_inc(), NULL, and DBusServer::refcount.
void _dbus_server_remove_timeout | ( | DBusServer * | server, |
DBusTimeout * | timeout | ||
) |
Removes a timeout previously added with _dbus_server_add_timeout().
server | the server. |
timeout | the timeout to remove. |
Definition at line 421 of file dbus-server.c.
References _dbus_timeout_list_remove_timeout(), FALSE, and NULL.
void _dbus_server_remove_watch | ( | DBusServer * | server, |
DBusWatch * | watch | ||
) |
Removes a watch previously added with _dbus_server_remove_watch().
server | the server. |
watch | the watch to remove. |
Definition at line 313 of file dbus-server.c.
References _dbus_watch_list_remove_watch(), FALSE, and NULL.
void _dbus_server_toggle_all_watches | ( | DBusServer * | server, |
dbus_bool_t | enabled | ||
) |
Toggles all watch and notifies app via server's DBusWatchToggledFunction if available.
server | the server. |
enabled | whether to enable or disable |
Definition at line 331 of file dbus-server.c.
References _dbus_watch_list_toggle_all_watches(), and DBusServer::watches.
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.
server | the server. |
timeout | the timeout to toggle. |
enabled | whether to enable or disable |
Definition at line 440 of file dbus-server.c.
References _dbus_timeout_list_toggle_timeout(), and NULL.
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.
void _dbus_server_unref_unlocked | ( | DBusServer * | server | ) |
Like dbus_server_unref() but does not acquire the lock (must already be held)
server | the server. |
Definition at line 476 of file dbus-server.c.
References _dbus_assert, _dbus_atomic_dec(), DBusServer::disconnected, DBusServerVTable::finalize, NULL, DBusServer::refcount, and DBusServer::vtable.