summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-11-22 01:21:59 +0100
committerLennart Poettering <lennart@poettering.net>2013-11-22 01:42:15 +0100
commit2be441769f29578764835df58950ac939f4e29eb (patch)
tree8272fd9837ffd0d4b27025d0126944e786c00e0b
parentf00c31213a2e521680c2381ef231f05e30c874a7 (diff)
bus: add calls to query attached objects
-rw-r--r--src/libsystemd-bus/bus-message.c6
-rw-r--r--src/libsystemd-bus/libsystemd-bus.sym2
-rw-r--r--src/libsystemd-bus/sd-bus.c6
-rw-r--r--src/systemd/sd-bus.h3
4 files changed, 17 insertions, 0 deletions
diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c
index a0e4e2cbe2..538a28af9e 100644
--- a/src/libsystemd-bus/bus-message.c
+++ b/src/libsystemd-bus/bus-message.c
@@ -4468,3 +4468,9 @@ _public_ int sd_bus_message_verify_type(sd_bus_message *m, char type, const char
return 1;
}
+
+_public_ sd_bus *sd_bus_message_get_bus(sd_bus_message *m) {
+ assert_return(m, NULL);
+
+ return m->bus;
+}
diff --git a/src/libsystemd-bus/libsystemd-bus.sym b/src/libsystemd-bus/libsystemd-bus.sym
index a8df513009..f8c60b4459 100644
--- a/src/libsystemd-bus/libsystemd-bus.sym
+++ b/src/libsystemd-bus/libsystemd-bus.sym
@@ -54,6 +54,7 @@ global:
sd_bus_get_tid;
sd_bus_attach_event;
sd_bus_detach_event;
+ sd_bus_get_event;
sd_bus_add_filter;
sd_bus_remove_filter;
sd_bus_add_match;
@@ -94,6 +95,7 @@ global:
sd_bus_message_get_sender;
sd_bus_message_get_error;
sd_bus_message_get_errno;
+ sd_bus_message_get_bus;
sd_bus_message_get_monotonic_timestamp;
sd_bus_message_get_realtime_timestamp;
sd_bus_message_get_uid;
diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
index 4df649c9f7..85d1154433 100644
--- a/src/libsystemd-bus/sd-bus.c
+++ b/src/libsystemd-bus/sd-bus.c
@@ -2658,6 +2658,12 @@ _public_ int sd_bus_detach_event(sd_bus *bus) {
return 0;
}
+_public_ sd_event* sd_bus_get_event(sd_bus *bus) {
+ assert_return(bus, NULL);
+
+ return bus->event;
+}
+
_public_ sd_bus_message* sd_bus_get_current(sd_bus *bus) {
assert_return(bus, NULL);
diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
index 8954e38791..9c001b11f4 100644
--- a/src/systemd/sd-bus.h
+++ b/src/systemd/sd-bus.h
@@ -111,6 +111,7 @@ int sd_bus_get_tid(sd_bus *bus, pid_t *tid);
int sd_bus_attach_event(sd_bus *bus, sd_event *e, int priority);
int sd_bus_detach_event(sd_bus *bus);
+sd_event *sd_bus_get_event(sd_bus *bus);
int sd_bus_add_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata);
int sd_bus_remove_filter(sd_bus *bus, sd_bus_message_handler_t callback, void *userdata);
@@ -163,6 +164,8 @@ const char *sd_bus_message_get_sender(sd_bus_message *m);
const sd_bus_error *sd_bus_message_get_error(sd_bus_message *m);
int sd_bus_message_get_errno(sd_bus_message *m);
+sd_bus* sd_bus_message_get_bus(sd_bus_message *m);
+
int sd_bus_message_get_monotonic_timestamp(sd_bus_message *m, uint64_t *usec);
int sd_bus_message_get_realtime_timestamp(sd_bus_message *m, uint64_t *usec);
int sd_bus_message_get_uid(sd_bus_message *m, uid_t *uid);