X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibelogind%2Fsd-bus%2Fbus-introspect.h;h=8e2f3800cab54abc889ce47a573c91ce42e6a521;hb=HEAD;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..8e2f3800c 100644 --- a/src/libelogind/sd-bus/bus-introspect.h +++ b/src/libelogind/sd-bus/bus-introspect.h @@ -1,11 +1,9 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - #pragma once /*** This file is part of systemd. - Copyright 2014 David Herrmann + Copyright 2013 Lennart Poettering systemd is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -21,34 +19,22 @@ along with systemd; If not, see . ***/ -#include "sd-bus.h" -#include "bus-xml-policy.h" - -typedef struct Proxy Proxy; - -struct Proxy { - sd_bus *local_bus; - struct ucred local_creds; - int local_in; - int local_out; +#include - sd_bus *destination_bus; +#include "sd-bus.h" - Set *owned_names; - SharedPolicy *policy; +#include "set.h" - bool got_hello : 1; - bool queue_overflow : 1; - bool message_matched : 1; - bool synthetic_matched : 1; +struct introspect { + FILE *f; + char *introspection; + size_t size; + bool trusted; }; -int proxy_new(Proxy **out, int in_fd, int out_fd, const char *dest); -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); +int introspect_begin(struct introspect *i, bool trusted); +int introspect_write_default_interfaces(struct introspect *i, bool object_manager); +int introspect_write_child_nodes(struct introspect *i, Set *s, const char *prefix); +int introspect_write_interface(struct introspect *i, const sd_bus_vtable *v); +int introspect_finish(struct introspect *i, sd_bus *bus, sd_bus_message *m, sd_bus_message **reply); +void introspect_free(struct introspect *i);