1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24: #ifndef BUS_CONNECTION_H
25: #define BUS_CONNECTION_H
26:
27: #include <dbus/dbus.h>
28: #include <dbus/dbus-list.h>
29: #include "bus.h"
30:
31: typedef dbus_bool_t (* BusConnectionForeachFunction) (DBusConnection *connection,
32: void *data);
33:
34:
35: BusConnections* bus_connections_new (BusContext *context);
36: BusConnections* bus_connections_ref (BusConnections *connections);
37: void bus_connections_unref (BusConnections *connections);
38: dbus_bool_t bus_connections_setup_connection (BusConnections *connections,
39: DBusConnection *connection);
40: void bus_connections_foreach (BusConnections *connections,
41: BusConnectionForeachFunction function,
42: void *data);
43: void bus_connections_foreach_active (BusConnections *connections,
44: BusConnectionForeachFunction function,
45: void *data);
46: BusContext* bus_connections_get_context (BusConnections *connections);
47: void bus_connections_increment_stamp (BusConnections *connections);
48: BusContext* bus_connection_get_context (DBusConnection *connection);
49: BusConnections* bus_connection_get_connections (DBusConnection *connection);
50: BusRegistry* bus_connection_get_registry (DBusConnection *connection);
51: BusActivation* bus_connection_get_activation (DBusConnection *connection);
52: BusMatchmaker* bus_connection_get_matchmaker (DBusConnection *connection);
53: BusSELinuxID* bus_connection_get_selinux_id (DBusConnection *connection);
54: dbus_bool_t bus_connections_check_limits (BusConnections *connections,
55: DBusConnection *requesting_completion,
56: DBusError *error);
57: void bus_connections_expire_incomplete (BusConnections *connections);
58:
59: dbus_bool_t bus_connections_expect_reply (BusConnections *connections,
60: BusTransaction *transaction,
61: DBusConnection *will_get_reply,
62: DBusConnection *will_send_reply,
63: DBusMessage *reply_to_this,
64: DBusError *error);
65: dbus_bool_t bus_connections_check_reply (BusConnections *connections,
66: BusTransaction *transaction,
67: DBusConnection *sending_reply,
68: DBusConnection *receiving_reply,
69: DBusMessage *reply,
70: DBusError *error);
71:
72: dbus_bool_t bus_connection_mark_stamp (DBusConnection *connection);
73:
74: dbus_bool_t bus_connection_is_active (DBusConnection *connection);
75: const char *bus_connection_get_name (DBusConnection *connection);
76:
77: dbus_bool_t bus_connection_preallocate_oom_error (DBusConnection *connection);
78: void bus_connection_send_oom_error (DBusConnection *connection,
79: DBusMessage *in_reply_to);
80:
81:
82: dbus_bool_t bus_connection_add_match_rule (DBusConnection *connection,
83: BusMatchRule *rule);
84: void bus_connection_add_match_rule_link (DBusConnection *connection,
85: DBusList *link);
86: void bus_connection_remove_match_rule (DBusConnection *connection,
87: BusMatchRule *rule);
88: int bus_connection_get_n_match_rules (DBusConnection *connection);
89:
90:
91:
92: dbus_bool_t bus_connection_add_owned_service (DBusConnection *connection,
93: BusService *service);
94: void bus_connection_remove_owned_service (DBusConnection *connection,
95: BusService *service);
96: void bus_connection_add_owned_service_link (DBusConnection *connection,
97: DBusList *link);
98: int bus_connection_get_n_services_owned (DBusConnection *connection);
99:
100:
101: dbus_bool_t bus_connection_complete (DBusConnection *connection,
102: const DBusString *name,
103: DBusError *error);
104:
105:
106: void bus_connection_disconnected (DBusConnection *connection);
107:
108: dbus_bool_t bus_connection_is_in_group (DBusConnection *connection,
109: unsigned long gid);
110: dbus_bool_t bus_connection_get_groups (DBusConnection *connection,
111: unsigned long **groups,
112: int *n_groups,
113: DBusError *error);
114: BusClientPolicy* bus_connection_get_policy (DBusConnection *connection);
115:
116:
117:
118: typedef void (* BusTransactionCancelFunction) (void *data);
119:
120: BusTransaction* bus_transaction_new (BusContext *context);
121: BusContext* bus_transaction_get_context (BusTransaction *transaction);
122: BusConnections* bus_transaction_get_connections (BusTransaction *transaction);
123: dbus_bool_t bus_transaction_send (BusTransaction *transaction,
124: DBusConnection *connection,
125: DBusMessage *message);
126: dbus_bool_t bus_transaction_send_from_driver (BusTransaction *transaction,
127: DBusConnection *connection,
128: DBusMessage *message);
129: dbus_bool_t bus_transaction_send_error_reply (BusTransaction *transaction,
130: DBusConnection *connection,
131: const DBusError *error,
132: DBusMessage *in_reply_to);
133: void bus_transaction_cancel_and_free (BusTransaction *transaction);
134: void bus_transaction_execute_and_free (BusTransaction *transaction);
135: dbus_bool_t bus_transaction_add_cancel_hook (BusTransaction *transaction,
136: BusTransactionCancelFunction cancel_function,
137: void *data,
138: DBusFreeFunction free_data_function);
139:
140: #endif