X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibelogind%2Fsd-bus%2Fbus-introspect.h;h=6aac650ac93a8e469e3cadfc97f51d34b756a99b;hb=8af9597bdb2f17e0220c90299a322cfff3c4195f;hp=ccb951c1092cc00e8b1d323721bcbd9e73c8a9fe;hpb=0a763769282e494dc3c4ef192f3e763931179817;p=elogind.git diff --git a/src/libelogind/sd-bus/bus-introspect.h b/src/libelogind/sd-bus/bus-introspect.h index ccb951c10..6aac650ac 100644 --- a/src/libelogind/sd-bus/bus-introspect.h +++ b/src/libelogind/sd-bus/bus-introspect.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,12 +40,22 @@ 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); Proxy *proxy_free(Proxy *p);