shared: actually move all BusLocator related calls to bus-locator.c
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ */
|
||||
|
||||
#include "bus-locator.h"
|
||||
#include "macro.h"
|
||||
|
||||
const BusLocator* const bus_home_mgr = &(BusLocator){
|
||||
.destination = "org.freedesktop.home1",
|
||||
@@ -61,3 +62,152 @@ const BusLocator* const bus_timedate = &(BusLocator){
|
||||
.path = "/org/freedesktop/timedate1",
|
||||
.interface = "org.freedesktop.timedate1"
|
||||
};
|
||||
|
||||
/* Shorthand flavors of the sd-bus convenience helpers with destination,path,interface strings encapsulated
|
||||
* within a single struct. */
|
||||
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, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, types);
|
||||
r = sd_bus_call_method_asyncv(bus, slot, locator->destination, locator->path, locator->interface, member, callback, userdata, types, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int bus_call_method(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
sd_bus_message **reply,
|
||||
const char *types, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, types);
|
||||
r = sd_bus_call_methodv(bus, locator->destination, locator->path, locator->interface, member, error, reply, types, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int bus_get_property(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
sd_bus_message **reply,
|
||||
const char *type) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property(bus, locator->destination, locator->path, locator->interface, member, error, reply, type);
|
||||
}
|
||||
|
||||
int bus_get_property_trivial(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char type, void *ptr) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_trivial(bus, locator->destination, locator->path, locator->interface, member, error, type, ptr);
|
||||
}
|
||||
|
||||
int bus_get_property_string(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char **ret) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_string(bus, locator->destination, locator->path, locator->interface, member, error, ret);
|
||||
}
|
||||
|
||||
int bus_get_property_strv(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char ***ret) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_strv(bus, locator->destination, locator->path, locator->interface, member, error, ret);
|
||||
}
|
||||
|
||||
int bus_set_property(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
const char *type, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, type);
|
||||
r = sd_bus_set_propertyv(bus, locator->destination, locator->path, locator->interface, member, error, type, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_match_signal(bus, ret, locator->destination, locator->path, locator->interface, member, callback, userdata);
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_match_signal_async(bus, ret, locator->destination, locator->path, locator->interface, member, callback, install_callback, userdata);
|
||||
}
|
||||
|
||||
int bus_message_new_method_call(
|
||||
sd_bus *bus,
|
||||
sd_bus_message **m,
|
||||
const BusLocator *locator,
|
||||
const char *member) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_message_new_method_call(bus, m, locator->destination, locator->path, locator->interface, member);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1+ */
|
||||
#pragma once
|
||||
|
||||
#include "sd-bus.h"
|
||||
|
||||
typedef struct BusLocator {
|
||||
const char *destination;
|
||||
const char *path;
|
||||
const char *interface;
|
||||
const char *destination;
|
||||
const char *path;
|
||||
const char *interface;
|
||||
} BusLocator;
|
||||
|
||||
extern const BusLocator* const bus_home_mgr;
|
||||
@@ -17,3 +19,16 @@ extern const BusLocator* const bus_portable_mgr;
|
||||
extern const BusLocator* const bus_resolve_mgr;
|
||||
extern const BusLocator* const bus_systemd_mgr;
|
||||
extern const BusLocator* const bus_timedate;
|
||||
|
||||
/* Shorthand flavors of the sd-bus convenience helpers with destination,path,interface strings encapsulated
|
||||
* within a single struct. */
|
||||
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, ...);
|
||||
int bus_call_method(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *types, ...);
|
||||
int bus_get_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *type);
|
||||
int bus_get_property_trivial(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char type, void *ptr);
|
||||
int bus_get_property_string(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char **ret);
|
||||
int bus_get_property_strv(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char ***ret);
|
||||
int bus_set_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, const char *type, ...);
|
||||
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);
|
||||
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);
|
||||
int bus_message_new_method_call(sd_bus *bus, sd_bus_message **m, const BusLocator *locator, const char *member);
|
||||
|
||||
@@ -1396,153 +1396,3 @@ const struct hash_ops bus_message_hash_ops = {
|
||||
.compare = trivial_compare_func,
|
||||
.free_value = bus_message_unref_wrapper,
|
||||
};
|
||||
|
||||
/* Shorthand flavors of the sd-bus convenience helpers with destination,path,interface
|
||||
* strings encapsulated within a single struct.
|
||||
*/
|
||||
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, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, types);
|
||||
r = sd_bus_call_method_asyncv(bus, slot, locator->destination, locator->path, locator->interface, member, callback, userdata, types, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int bus_call_method(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
sd_bus_message **reply,
|
||||
const char *types, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, types);
|
||||
r = sd_bus_call_methodv(bus, locator->destination, locator->path, locator->interface, member, error, reply, types, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int bus_get_property(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
sd_bus_message **reply,
|
||||
const char *type) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property(bus, locator->destination, locator->path, locator->interface, member, error, reply, type);
|
||||
}
|
||||
|
||||
int bus_get_property_trivial(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char type, void *ptr) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_trivial(bus, locator->destination, locator->path, locator->interface, member, error, type, ptr);
|
||||
}
|
||||
|
||||
int bus_get_property_string(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char **ret) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_string(bus, locator->destination, locator->path, locator->interface, member, error, ret);
|
||||
}
|
||||
|
||||
int bus_get_property_strv(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
char ***ret) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_get_property_strv(bus, locator->destination, locator->path, locator->interface, member, error, ret);
|
||||
}
|
||||
|
||||
int bus_set_property(
|
||||
sd_bus *bus,
|
||||
const BusLocator *locator,
|
||||
const char *member,
|
||||
sd_bus_error *error,
|
||||
const char *type, ...) {
|
||||
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
assert(locator);
|
||||
|
||||
va_start(ap, type);
|
||||
r = sd_bus_set_propertyv(bus, locator->destination, locator->path, locator->interface, member, error, type, ap);
|
||||
va_end(ap);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_match_signal(bus, ret, locator->destination, locator->path, locator->interface, member, callback, userdata);
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_match_signal_async(bus, ret, locator->destination, locator->path, locator->interface, member, callback, install_callback, userdata);
|
||||
}
|
||||
|
||||
int bus_message_new_method_call(
|
||||
sd_bus *bus,
|
||||
sd_bus_message **m,
|
||||
const BusLocator *locator,
|
||||
const char *member) {
|
||||
|
||||
assert(locator);
|
||||
|
||||
return sd_bus_message_new_method_call(bus, m, locator->destination, locator->path, locator->interface, member);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "sd-bus.h"
|
||||
#include "sd-event.h"
|
||||
|
||||
#include "bus-locator.h"
|
||||
#include "macro.h"
|
||||
#include "set.h"
|
||||
#include "string-util.h"
|
||||
@@ -23,7 +22,6 @@ typedef enum BusTransport {
|
||||
_BUS_TRANSPORT_INVALID = -1
|
||||
} BusTransport;
|
||||
|
||||
|
||||
typedef int (*bus_property_set_t) (sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata);
|
||||
|
||||
struct bus_properties_map {
|
||||
@@ -181,17 +179,3 @@ static inline int bus_open_system_watch_bind(sd_bus **ret) {
|
||||
int bus_reply_pair_array(sd_bus_message *m, char **l);
|
||||
|
||||
extern const struct hash_ops bus_message_hash_ops;
|
||||
|
||||
/* Shorthand flavors of the sd-bus convenience helpers with destination,path,interface
|
||||
* strings encapsulated within a single struct.
|
||||
*/
|
||||
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, ...);
|
||||
int bus_call_method(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *types, ...);
|
||||
int bus_get_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *type);
|
||||
int bus_get_property_trivial(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char type, void *ptr);
|
||||
int bus_get_property_string(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char **ret);
|
||||
int bus_get_property_strv(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, char ***ret);
|
||||
int bus_set_property(sd_bus *bus, const BusLocator *locator, const char *member, sd_bus_error *error, const char *type, ...);
|
||||
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);
|
||||
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);
|
||||
int bus_message_new_method_call(sd_bus *bus, sd_bus_message **m, const BusLocator *locator, const char *member);
|
||||
|
||||
Reference in New Issue
Block a user