summaryrefslogtreecommitdiff
path: root/server.c
diff options
context:
space:
mode:
authorJavier S. Pedro <javier@javispedro.com>2012-02-13 20:16:32 +0100
committerJavier S. Pedro <javier@javispedro.com>2012-02-13 20:16:32 +0100
commit3fbc3f186f8f7817be2ecbdcc7117bd294bb7d88 (patch)
tree1c3c04a076c449735e350b196bd21dd0555d6887 /server.c
parent178fa8e6707c9983ba02bb1d01f773c63b00732d (diff)
downloadfmrxd-3fbc3f186f8f7817be2ecbdcc7117bd294bb7d88.tar.gz
fmrxd-3fbc3f186f8f7817be2ecbdcc7117bd294bb7d88.zip
add signal monitoring support
Diffstat (limited to 'server.c')
-rw-r--r--server.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/server.c b/server.c
index cfee65a..7b2cb53 100644
--- a/server.c
+++ b/server.c
@@ -72,6 +72,9 @@ static const char * introspect_data = {
" </signal>\n"
" <signal name=\"Stopped\">\n"
" </signal>\n"
+ " <signal name=\"SignalLevelChanged\">\n"
+ " <arg type=\"q\" name=\"signal\" />\n"
+ " </signal>\n"
" <signal name=\"PiReceived\">\n"
" <arg type=\"q\" name=\"pi\" />\n"
" </signal>\n"
@@ -514,6 +517,15 @@ void server_notify_stopped()
dbus_message_unref(m);
}
+void server_notify_signal(uint16_t signal)
+{
+ DBusMessage *m = dbus_message_new_signal(BUS_PATH, BUS_INTERFACE, "SignalLevelChanged");
+ g_return_if_fail(m != NULL);
+ dbus_message_append_args(m, DBUS_TYPE_UINT16, &signal, DBUS_TYPE_INVALID);
+ dbus_connection_send(bus, m, NULL);
+ dbus_message_unref(m);
+}
+
void server_notify_pi(uint16_t pi)
{
DBusMessage *m = dbus_message_new_signal(BUS_PATH, BUS_INTERFACE, "PiChanged");