#include "agent.h"
#define REQUEST_TIMEOUT (60 * 1000) /* 60 seconds */
+#define AGENT_INTERFACE "org.bluez.Agent1"
typedef enum {
AGENT_REQUEST_PASSKEY,
agent_cancel(agent);
message = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "Release");
+ AGENT_INTERFACE, "Release");
if (message == NULL) {
error("Couldn't allocate D-Bus message");
return;
req->agent->path);
message = dbus_message_new_method_call(req->agent->name, req->agent->path,
- "org.bluez.Agent", "Cancel");
+ AGENT_INTERFACE, "Cancel");
if (message == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
struct agent *agent = req->agent;
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "AuthorizeService");
+ AGENT_INTERFACE, "AuthorizeService");
if (!req->msg) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
secure pin. */
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "RequestPinCode");
+ AGENT_INTERFACE, "RequestPinCode");
if (req->msg == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
struct agent *agent = req->agent;
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "RequestPasskey");
+ AGENT_INTERFACE, "RequestPasskey");
if (req->msg == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
struct agent *agent = req->agent;
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "RequestConfirmation");
+ AGENT_INTERFACE, "RequestConfirmation");
if (req->msg == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
struct agent *agent = req->agent;
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "RequestAuthorization");
+ AGENT_INTERFACE, "RequestAuthorization");
if (req->msg == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
const gchar *dev_path = device_get_path(device);
message = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "DisplayPasskey");
+ AGENT_INTERFACE, "DisplayPasskey");
if (!message) {
error("Couldn't allocate D-Bus message");
return -1;
struct agent *agent = req->agent;
req->msg = dbus_message_new_method_call(agent->name, agent->path,
- "org.bluez.Agent", "DisplayPinCode");
+ AGENT_INTERFACE, "DisplayPinCode");
if (req->msg == NULL) {
error("Couldn't allocate D-Bus message");
return -ENOMEM;
from optparse import OptionParser
import bluezutils
+BUS_NAME = 'org.bluez'
+AGENT_INTERFACE = 'org.bluez.Agent1'
+AGENT_PATH = "/test/agent"
+
bus = None
device_obj = None
dev_path = None
def set_exit_on_release(self, exit_on_release):
self.exit_on_release = exit_on_release
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="", out_signature="")
def Release(self):
print("Release")
if self.exit_on_release:
mainloop.quit()
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="os", out_signature="")
def AuthorizeService(self, device, uuid):
print("AuthorizeService (%s, %s)" % (device, uuid))
return
raise Rejected("Connection rejected by user")
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="o", out_signature="s")
def RequestPinCode(self, device):
print("RequestPinCode (%s)" % (device))
set_trusted(device)
return ask("Enter PIN Code: ")
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="o", out_signature="u")
def RequestPasskey(self, device):
print("RequestPasskey (%s)" % (device))
passkey = ask("Enter passkey: ")
return dbus.UInt32(passkey)
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="ouq", out_signature="")
def DisplayPasskey(self, device, passkey, entered):
print("DisplayPasskey (%s, %06u entered %u)" %
(device, passkey, entered))
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="os", out_signature="")
def DisplayPinCode(self, device, pincode):
print("DisplayPinCode (%s, %s)" % (device, pincode))
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="ou", out_signature="")
def RequestConfirmation(self, device, passkey):
print("RequestConfirmation (%s, %06d)" % (device, passkey))
return
raise Rejected("Passkey doesn't match")
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="o", out_signature="")
def RequestAuthorization(self, device):
print("RequestAuthorization (%s)" % (device))
return
raise Rejected("Pairing rejected")
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="s", out_signature="")
def ConfirmModeChange(self, mode):
print("ConfirmModeChange (%s)" % (mode))
return
raise Rejected("Mode change by user")
- @dbus.service.method("org.bluez.Agent",
+ @dbus.service.method(AGENT_INTERFACE,
in_signature="", out_signature="")
def Cancel(self):
print("Cancel")