Hi Alex, On 11:22 Thu 14 Mar, Alex Deymo wrote: > Implements the DisplayPasskey(object device, uint32 passkey, uint16 entered) > method. > --- > client/agent.c | 30 ++++++++++++++++++++++++++++++ > client/display.h | 2 ++ > 2 files changed, 32 insertions(+) > > diff --git a/client/agent.c b/client/agent.c > index 579ae4e..cb710da 100644 > --- a/client/agent.c > +++ b/client/agent.c > @@ -184,6 +184,32 @@ static DBusMessage *display_pincode(DBusConnection *conn, > return dbus_message_new_method_return(msg); > } > > +static DBusMessage *display_passkey(DBusConnection *conn, > + DBusMessage *msg, void *user_data) > +{ > + const char *device; > + dbus_uint32_t passkey; > + dbus_uint16_t entered; > + char passkey_entered[7]; > + char passkey_remaining[7]; > + > + dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, > + DBUS_TYPE_UINT32, &passkey, DBUS_TYPE_UINT16, &entered, > + DBUS_TYPE_INVALID); > + > + snprintf(passkey_entered, 7, "%.6u", passkey); > + passkey_entered[6] = '\0'; > + strncpy(passkey_remaining, passkey_entered, 7); > + if (entered > strlen(passkey_entered)) > + entered = strlen(passkey_entered); > + passkey_entered[entered] = '\0'; Some empty lines in this block please. > + > + rl_printf(AGENT_PROMPT "Passkey: " COLOR_BOLDGRAY "%s" COLOR_BOLDWHITE > + "%s\n" COLOR_OFF, passkey_entered, passkey_remaining+entered); > + > + return dbus_message_new_method_return(msg); > +} > + > static DBusMessage *request_confirmation(DBusConnection *conn, > DBusMessage *msg, void *user_data) > { > @@ -262,6 +288,10 @@ static const GDBusMethodTable methods[] = { > { GDBUS_METHOD("DisplayPinCode", > GDBUS_ARGS({ "device", "o" }, { "pincode", "s" }), > NULL, display_pincode) }, > + { GDBUS_METHOD("DisplayPasskey", > + GDBUS_ARGS({ "device", "o" }, { "passkey", "u" }, > + { "entered", "q" }), > + NULL, display_passkey) }, > { GDBUS_ASYNC_METHOD("RequestConfirmation", > GDBUS_ARGS({ "device", "o" }, { "passkey", "u" }), > NULL, request_confirmation) }, > diff --git a/client/display.h b/client/display.h > index 957bdc6..91a0be9 100644 > --- a/client/display.h > +++ b/client/display.h > @@ -26,5 +26,7 @@ > #define COLOR_GREEN "\x1B[0;92m" > #define COLOR_YELLOW "\x1B[0;93m" > #define COLOR_BLUE "\x1B[0;94m" > +#define COLOR_BOLDGRAY "\x1B[1;30m" > +#define COLOR_BOLDWHITE "\x1B[1;37m" > > void rl_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2))); > -- > 1.8.1.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html Cheers, -- Vinicius -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html