diff options
Diffstat (limited to 'src/bus-proxyd/proxy.h')
-rw-r--r-- | src/bus-proxyd/proxy.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/bus-proxyd/proxy.h b/src/bus-proxyd/proxy.h index ff278a2465..6aac650ac9 100644 --- a/src/bus-proxyd/proxy.h +++ b/src/bus-proxyd/proxy.h @@ -25,6 +25,9 @@ #include "bus-xml-policy.h" typedef struct Proxy Proxy; +typedef struct ProxyActivation ProxyActivation; + +#define PROXY_ACTIVATIONS_MAX (16) /* max parallel activation requests */ struct Proxy { sd_bus *local_bus; @@ -37,8 +40,20 @@ struct Proxy { Set *owned_names; SharedPolicy *policy; + LIST_HEAD(ProxyActivation, activations); + size_t n_activations; + bool got_hello : 1; bool queue_overflow : 1; + bool message_matched : 1; + bool synthetic_matched : 1; +}; + +struct ProxyActivation { + LIST_FIELDS(ProxyActivation, activations_by_proxy); + Proxy *proxy; + sd_bus_message *request; + sd_bus_slot *slot; }; int proxy_new(Proxy **out, int in_fd, int out_fd, const char *dest); @@ -46,6 +61,7 @@ Proxy *proxy_free(Proxy *p); int proxy_set_policy(Proxy *p, SharedPolicy *policy, char **configuration); int proxy_hello_policy(Proxy *p, uid_t original_uid); +int proxy_match(sd_bus_message *m, void *userdata, sd_bus_error *error); int proxy_run(Proxy *p); DEFINE_TRIVIAL_CLEANUP_FUNC(Proxy*, proxy_free); |