diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-04-22 20:53:39 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-10-20 23:54:01 -0700 |
commit | 7eadae7b70750d29aa37f9c96499a22087e38f4a (patch) | |
tree | 7ddfae80d74b5015f5f68d754128f21a0d4db768 | |
parent | c8445d1720c4ca75c4c560e904bf96c41475d49c (diff) | |
download | neard-7eadae7b70750d29aa37f9c96499a22087e38f4a.tar.gz neard-7eadae7b70750d29aa37f9c96499a22087e38f4a.tar.bz2 neard-7eadae7b70750d29aa37f9c96499a22087e38f4a.zip |
adapter: Implement polling D-Bus hooks
-rw-r--r-- | src/adapter.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/adapter.c b/src/adapter.c index e62f38b..a6d4631 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -109,9 +109,41 @@ static DBusMessage *set_property(DBusConnection *conn, return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); } +static DBusMessage *start_poll(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + struct near_adapter *adapter = data; + int err; + + DBG("conn %p", conn); + + err = __near_netlink_start_poll(adapter->idx, adapter->protocols); + if (err < 0) + return __near_error_failed(msg, -err); + + return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); +} + +static DBusMessage *stop_poll(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + struct near_adapter *adapter = data; + int err; + + DBG("conn %p", conn); + + err = __near_netlink_stop_poll(adapter->idx); + if (err < 0) + return __near_error_failed(msg, -err); + + return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); +} + static GDBusMethodTable adapter_methods[] = { { "GetProperties", "", "a{sv}", get_properties }, { "SetProperty", "sv", "", set_property }, + { "StartPoll", "", "", start_poll }, + { "StopPoll", "", "", stop_poll }, { }, }; |