summaryrefslogtreecommitdiffstats
path: root/input
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2008-05-28 07:39:21 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2008-05-28 07:39:21 +0000
commit7c426c4c7e234e28a4dffcb7d88feb0eeefcd5ce (patch)
treeabdf7590df42c39c745337585e305560ae591d4e /input
parent617faeead1ffd6674cc1ab174815ff1395aec311 (diff)
input: removed old authorization method
Diffstat (limited to 'input')
-rw-r--r--input/manager.c2
-rw-r--r--input/server.c89
-rw-r--r--input/server.h2
3 files changed, 4 insertions, 89 deletions
diff --git a/input/manager.c b/input/manager.c
index aae101fd..65c51fb5 100644
--- a/input/manager.c
+++ b/input/manager.c
@@ -783,7 +783,7 @@ int input_manager_init(DBusConnection *conn, GKeyFile *config)
/* Register well known HID devices */
register_stored_inputs();
- server_start(connection);
+ server_start();
return 0;
}
diff --git a/input/server.c b/input/server.c
index f5861635..003ce53b 100644
--- a/input/server.c
+++ b/input/server.c
@@ -52,60 +52,11 @@
static const char *HID_UUID = "00001124-0000-1000-8000-00805f9b34fb";
-static DBusConnection *connection = NULL;
-
-static void cancel_authorization(const char *addr)
-{
- DBusMessage *msg;
-
- msg = dbus_message_new_method_call("org.bluez", "/org/bluez",
- "org.bluez.Database",
- "CancelAuthorizationRequest");
- if (!msg) {
- error("Unable to allocate new method call");
- return;
- }
-
- dbus_message_append_args(msg,
- DBUS_TYPE_STRING, &addr,
- DBUS_TYPE_STRING, &HID_UUID,
- DBUS_TYPE_INVALID);
-
- g_dbus_send_message(connection, msg);
-}
-
struct authorization_data {
bdaddr_t src;
bdaddr_t dst;
};
-static void authorization_callback(DBusPendingCall *pcall, void *data)
-{
- struct authorization_data *auth = data;
- DBusMessage *reply = dbus_pending_call_steal_reply(pcall);
- DBusError derr;
-
- dbus_error_init(&derr);
- if (dbus_set_error_from_message(&derr, reply) != TRUE) {
- dbus_message_unref(reply);
- input_device_connadd(&auth->src, &auth->dst);
- return;
- }
-
- error("Authorization denied: %s", derr.message);
- if (dbus_error_has_name(&derr, DBUS_ERROR_NO_REPLY)) {
- char addr[18];
- memset(addr, 0, sizeof(addr));
- ba2str(&auth->dst, addr);
- cancel_authorization(addr);
- }
-
- input_device_close_channels(&auth->src, &auth->dst);
-
- dbus_error_free(&derr);
- dbus_message_unref(reply);
-}
-
static void auth_callback(DBusError *derr, void *user_data)
{
struct authorization_data *auth = user_data;
@@ -125,47 +76,13 @@ static void auth_callback(DBusError *derr, void *user_data)
static int authorize_device(const bdaddr_t *src, const bdaddr_t *dst)
{
struct authorization_data *auth;
- DBusMessage *msg;
- DBusPendingCall *pending;
- char addr[18];
- const char *paddr = addr;
- int retval;
auth = g_new0(struct authorization_data, 1);
bacpy(&auth->src, src);
bacpy(&auth->dst, dst);
- retval = service_req_auth(src, dst, HID_UUID,
+ return service_req_auth(src, dst, HID_UUID,
auth_callback, auth);
- if (retval < 0)
- goto fallback;
-
- return retval;
-
-fallback:
- msg = dbus_message_new_method_call("org.bluez", "/org/bluez",
- "org.bluez.Database", "RequestAuthorization");
- if (!msg) {
- error("Unable to allocate new RequestAuthorization method call");
- return -ENOMEM;
- }
-
- memset(addr, 0, sizeof(addr));
- ba2str(dst, addr);
- dbus_message_append_args(msg,
- DBUS_TYPE_STRING, &paddr,
- DBUS_TYPE_STRING, &HID_UUID,
- DBUS_TYPE_INVALID);
-
- if (dbus_connection_send_with_reply(connection,
- msg, &pending, -1) == FALSE)
- return -EACCES;
-
- dbus_pending_call_set_notify(pending, authorization_callback, auth, g_free);
- dbus_pending_call_unref(pending);
- dbus_message_unref(msg);
-
- return 0;
}
static void connect_event_cb(GIOChannel *chan, int err, const bdaddr_t *src,
@@ -202,7 +119,7 @@ static void connect_event_cb(GIOChannel *chan, int err, const bdaddr_t *src,
static GIOChannel *ctrl_io = NULL;
static GIOChannel *intr_io = NULL;
-int server_start(DBusConnection *conn)
+int server_start(void)
{
ctrl_io = bt_l2cap_listen(BDADDR_ANY, L2CAP_PSM_HIDP_CTRL, 0, 0,
connect_event_cb,
@@ -223,8 +140,6 @@ int server_start(DBusConnection *conn)
}
g_io_channel_set_close_on_unref(intr_io, TRUE);
- connection = conn;
-
return 0;
}
diff --git a/input/server.h b/input/server.h
index 355406aa..75cf704c 100644
--- a/input/server.h
+++ b/input/server.h
@@ -21,5 +21,5 @@
*
*/
-int server_start(DBusConnection *conn);
+int server_start(void);
void server_stop(void);