X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fsystemd%2Fsd-bus.h;h=27226a92ed9c2b4d942529cdb13da2972093ca70;hp=122ec954ca4b5b92d016f1c75e2244765dd5ad57;hb=c784c5ce777f16ee56086a072dc1466639bc9eff;hpb=d1148ed10a474ccc949113a8ec06e7e29c4c7cb0 diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h index 122ec954c..27226a92e 100644 --- a/src/systemd/sd-bus.h +++ b/src/systemd/sd-bus.h @@ -33,9 +33,6 @@ extern "C" { #endif /* TODO: - * - allow registration/removl of callbacks from within callbacks - * - don't allow recursive processing - * * - add page donation logic * - api for appending/reading fixed arrays * - merge busctl into systemctl or so? @@ -148,6 +145,11 @@ int sd_bus_message_exit_container(sd_bus_message *m); int sd_bus_message_peek_type(sd_bus_message *m, char *type, const char **contents); int sd_bus_message_rewind(sd_bus_message *m, int complete); +/* Convenience calls */ + +int sd_bus_emit_signal(sd_bus *bus, const char *path, const char *interface, const char *member, const char *types, ...); +int sd_bus_call_method(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *error, sd_bus_message **reply, const char *types, ...); + /* Bus management */ int sd_bus_get_unique_name(sd_bus *bus, const char **unique); @@ -160,8 +162,8 @@ int sd_bus_get_owner_pid(sd_bus *bus, const char *name, pid_t *pid); /* Error structures */ -#define SD_BUS_ERROR_INIT {NULL, NULL, 0} -#define SD_BUS_ERROR_INIT_CONST(name, message) {(name), (message), 0} +#define SD_BUS_ERROR_NULL ((sd_bus_error) {NULL, NULL, 0}) +#define SD_BUS_ERROR_MAKE(name, message) ((sd_bus_error) {(name), (message), 0}) void sd_bus_error_free(sd_bus_error *e); int sd_bus_error_set(sd_bus_error *e, const char *name, const char *format, ...);