chiark / gitweb /
e3f8ced723c8ba0096263cb3e9a8bb3618651480
[elogind.git] / src / libelogind / sd-bus / bus-introspect.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   This file is part of systemd.
6
7   Copyright 2013 Lennart Poettering
8 ***/
9
10 #include <stdio.h>
11
12 #include "sd-bus.h"
13
14 #include "set.h"
15
16 struct introspect {
17         FILE *f;
18         char *introspection;
19         size_t size;
20         bool trusted;
21 };
22
23 int introspect_begin(struct introspect *i, bool trusted);
24 int introspect_write_default_interfaces(struct introspect *i, bool object_manager);
25 int introspect_write_child_nodes(struct introspect *i, Set *s, const char *prefix);
26 int introspect_write_interface(struct introspect *i, const sd_bus_vtable *v);
27 int introspect_finish(struct introspect *i, sd_bus *bus, sd_bus_message *m, sd_bus_message **reply);
28 void introspect_free(struct introspect *i);