summaryrefslogtreecommitdiffstats
path: root/bus/policy.h
diff options
context:
space:
mode:
Diffstat (limited to 'bus/policy.h')
-rw-r--r--bus/policy.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/bus/policy.h b/bus/policy.h
index 940085ee..63981cc0 100644
--- a/bus/policy.h
+++ b/bus/policy.h
@@ -54,16 +54,27 @@ struct BusPolicyRule
{
struct
{
- /* either can be NULL meaning "any" */
- char *message_name;
+ /* message type can be DBUS_MESSAGE_TYPE_INVALID meaning "any" */
+ int message_type;
+ /* any of these can be NULL meaning "any" */
+ char *path;
+ char *interface;
+ char *member;
+ char *error;
char *destination;
} send;
struct
{
- /* either can be NULL meaning "any" */
- char *message_name;
+ /* message type can be DBUS_MESSAGE_TYPE_INVALID meaning "any" */
+ int message_type;
+ /* any of these can be NULL meaning "any" */
+ char *path;
+ char *interface;
+ char *member;
+ char *error;
char *origin;
+ unsigned int eavesdrop : 1;
} receive;
struct
@@ -124,6 +135,8 @@ dbus_bool_t bus_client_policy_check_can_send (BusClientPolicy *policy,
dbus_bool_t bus_client_policy_check_can_receive (BusClientPolicy *policy,
BusRegistry *registry,
DBusConnection *sender,
+ DBusConnection *addressed_recipient,
+ DBusConnection *proposed_recipient,
DBusMessage *message);
dbus_bool_t bus_client_policy_check_can_own (BusClientPolicy *policy,
DBusConnection *connection,