1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include "sd-bus.h"
5 
6 #include "bus-object.h"
7 #include "homed-home.h"
8 
9 int bus_home_client_is_trusted(Home *h, sd_bus_message *message);
10 int bus_home_get_record_json(Home *h, sd_bus_message *message, char **ret, bool *ret_incomplete);
11 
12 int bus_home_method_activate(sd_bus_message *message, void *userdata, sd_bus_error *error);
13 int bus_home_method_deactivate(sd_bus_message *message, void *userdata, sd_bus_error *error);
14 int bus_home_method_unregister(sd_bus_message *message, void *userdata, sd_bus_error *error);
15 int bus_home_method_realize(sd_bus_message *message, void *userdata, sd_bus_error *error);
16 int bus_home_method_remove(sd_bus_message *message, void *userdata, sd_bus_error *error);
17 int bus_home_method_fixate(sd_bus_message *message, void *userdata, sd_bus_error *error);
18 int bus_home_method_authenticate(sd_bus_message *message, void *userdata, sd_bus_error *error);
19 int bus_home_method_update(sd_bus_message *message, void *userdata, sd_bus_error *error);
20 int bus_home_method_update_record(Home *home, sd_bus_message *message, UserRecord *hr, sd_bus_error *error);
21 int bus_home_method_resize(sd_bus_message *message, void *userdata, sd_bus_error *error);
22 int bus_home_method_change_password(sd_bus_message *message, void *userdata, sd_bus_error *error);
23 int bus_home_method_lock(sd_bus_message *message, void *userdata, sd_bus_error *error);
24 int bus_home_method_unlock(sd_bus_message *message, void *userdata, sd_bus_error *error);
25 int bus_home_method_acquire(sd_bus_message *message, void *userdata, sd_bus_error *error);
26 int bus_home_method_ref(sd_bus_message *message, void *userdata, sd_bus_error *error);
27 int bus_home_method_release(sd_bus_message *message, void *userdata, sd_bus_error *error);
28 
29 extern const BusObjectImplementation home_object;
30 
31 int bus_home_path(Home *h, char **ret);
32 
33 int bus_home_emit_change(Home *h);
34 int bus_home_emit_remove(Home *h);
35