]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/bus-locator.h
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / src / shared / bus-locator.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include "sd-bus.h"
5
6 typedef struct BusLocator {
7 const char *destination;
8 const char *path;
9 const char *interface;
10 } BusLocator;
11
12 extern const BusLocator* const bus_home_mgr;
13 extern const BusLocator* const bus_import_mgr;
14 extern const BusLocator* const bus_locale;
15 extern const BusLocator* const bus_login_mgr;
16 extern const BusLocator* const bus_machine_mgr;
17 extern const BusLocator* const bus_network_mgr;
18 extern const BusLocator* const bus_portable_mgr;
19 extern const BusLocator* const bus_resolve_mgr;
20 extern const BusLocator* const bus_systemd_mgr;
21 extern const BusLocator* const bus_timedate;
22
23 /* Shorthand flavors of the sd-bus convenience helpers with destination,path,interface strings encapsulated
24 * within a single struct. */
25 int bus_call_method_async(sd_bus *bus, sd_bus_slot **slot, const BusLocator *locator, const char *member, sd_bus_message_handler_t callback, void *userdata, const char *types, ...);
26 int bus_call_method(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *types, ...);
27 int bus_get_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *type);
28 int bus_get_property_trivial(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char type, void *ptr);
29 int bus_get_property_string(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char **ret);
30 int bus_get_property_strv(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char ***ret);
31 int bus_set_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, const char *type, ...);
32 int bus_match_signal(sd_bus *bus, sd_bus_slot **ret, const BusLocator *locator, const char *member, sd_bus_message_handler_t callback, void *userdata);
33 int bus_match_signal_async(sd_bus *bus, sd_bus_slot **ret, const BusLocator *locator, const char *member, sd_bus_message_handler_t callback, sd_bus_message_handler_t install_callback, void *userdata);
34 int bus_message_new_method_call(sd_bus *bus, sd_bus_message **m, const BusLocator *locator, const char *member);