]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/sd-bus/bus-introspect.h
Merge pull request #2495 from heftig/master
[thirdparty/systemd.git] / src / libsystemd / sd-bus / bus-introspect.h
CommitLineData
29ddb38f
LP
1#pragma once
2
3/***
4 This file is part of systemd.
5
6 Copyright 2013 Lennart Poettering
7
8 systemd is free software; you can redistribute it and/or modify it
9 under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 2.1 of the License, or
11 (at your option) any later version.
12
13 systemd is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public License
19 along with systemd; If not, see <http://www.gnu.org/licenses/>.
20***/
21
29ddb38f
LP
22#include <stdio.h>
23
24#include "sd-bus.h"
71d35b6b 25
29ddb38f
LP
26#include "set.h"
27
28struct introspect {
29 FILE *f;
30 char *introspection;
31 size_t size;
7fb411f0 32 bool trusted;
29ddb38f
LP
33};
34
7fb411f0 35int introspect_begin(struct introspect *i, bool trusted);
29ddb38f
LP
36int introspect_write_default_interfaces(struct introspect *i, bool object_manager);
37int introspect_write_child_nodes(struct introspect *i, Set *s, const char *prefix);
718db961 38int introspect_write_interface(struct introspect *i, const sd_bus_vtable *v);
29ddb38f
LP
39int introspect_finish(struct introspect *i, sd_bus *bus, sd_bus_message *m, sd_bus_message **reply);
40void introspect_free(struct introspect *i);