|
Packit |
8fb625 |
#include "bluetooth-pairing-dialog.h"
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
static const char *
|
|
Packit |
8fb625 |
response_to_str (int response)
|
|
Packit |
8fb625 |
{
|
|
Packit |
8fb625 |
switch (response) {
|
|
Packit |
8fb625 |
case GTK_RESPONSE_ACCEPT:
|
|
Packit |
8fb625 |
return "accept";
|
|
Packit |
8fb625 |
case GTK_RESPONSE_CANCEL:
|
|
Packit |
8fb625 |
return "cancel";
|
|
Packit |
8fb625 |
case GTK_RESPONSE_DELETE_EVENT:
|
|
Packit |
8fb625 |
return "delete-event";
|
|
Packit |
8fb625 |
default:
|
|
Packit |
8fb625 |
g_message ("response %d unhandled", response);
|
|
Packit |
8fb625 |
g_assert_not_reached ();
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
static void
|
|
Packit |
8fb625 |
response_cb (GtkDialog *dialog,
|
|
Packit |
8fb625 |
int response,
|
|
Packit |
8fb625 |
gpointer user_data)
|
|
Packit |
8fb625 |
{
|
|
Packit |
8fb625 |
g_message ("Received response '%d' (%s)",
|
|
Packit |
8fb625 |
response, response_to_str (response));
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
if (response == GTK_RESPONSE_CANCEL ||
|
|
Packit |
8fb625 |
response == GTK_RESPONSE_DELETE_EVENT) {
|
|
Packit |
8fb625 |
if (response != GTK_RESPONSE_DELETE_EVENT)
|
|
Packit |
8fb625 |
gtk_widget_destroy (GTK_WIDGET (dialog));
|
|
Packit |
8fb625 |
gtk_main_quit ();
|
|
Packit |
8fb625 |
return;
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
if (bluetooth_pairing_dialog_get_mode (BLUETOOTH_PAIRING_DIALOG (user_data)) == BLUETOOTH_PAIRING_MODE_PIN_CONFIRMATION) {
|
|
Packit |
8fb625 |
bluetooth_pairing_dialog_set_mode (BLUETOOTH_PAIRING_DIALOG (user_data),
|
|
Packit |
8fb625 |
BLUETOOTH_PAIRING_MODE_PIN_DISPLAY_NORMAL,
|
|
Packit |
8fb625 |
"234567",
|
|
Packit |
8fb625 |
"My device");
|
|
Packit |
8fb625 |
} else {
|
|
Packit |
8fb625 |
gtk_widget_destroy (GTK_WIDGET (dialog));
|
|
Packit |
8fb625 |
gtk_main_quit ();
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
int main (int argc, char **argv)
|
|
Packit |
8fb625 |
{
|
|
Packit |
8fb625 |
GtkWidget *window;
|
|
Packit |
8fb625 |
BluetoothPairingMode mode;
|
|
Packit |
8fb625 |
const char *pin = "123456";
|
|
Packit |
8fb625 |
const char *device = "My device";
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
gtk_init (&argc, &argv);
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
if (g_strcmp0 (argv[1], "pin-confirmation") == 0 ||
|
|
Packit |
8fb625 |
argv[1] == NULL) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_PIN_CONFIRMATION;
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "pin-display-keyboard") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_PIN_DISPLAY_KEYBOARD;
|
|
Packit |
8fb625 |
pin = "123456⏎";
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "pin-display-icade") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_PIN_DISPLAY_ICADE;
|
|
Packit |
8fb625 |
pin = "⬆⬆⬅⬅➡➡❍";
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "pin-query") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_PIN_QUERY;
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "pin-match") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_PIN_MATCH;
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "yes-no") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_YES_NO;
|
|
Packit |
8fb625 |
} else if (g_strcmp0 (argv[1], "confirm-auth") == 0) {
|
|
Packit |
8fb625 |
mode = BLUETOOTH_PAIRING_MODE_CONFIRM_AUTH;
|
|
Packit |
8fb625 |
} else {
|
|
Packit |
8fb625 |
g_print ("Mode '%s' not supported, must be one of:\n", argv[1]);
|
|
Packit |
8fb625 |
g_print ("\tpin-confirmation\n");
|
|
Packit |
8fb625 |
g_print ("\tpin-display-keyboard\n");
|
|
Packit |
8fb625 |
g_print ("\tpin-display-icade\n");
|
|
Packit |
8fb625 |
g_print ("\tpin-query\n");
|
|
Packit |
8fb625 |
g_print ("\tpin-match\n");
|
|
Packit |
8fb625 |
g_print ("\tyes-no\n");
|
|
Packit |
8fb625 |
g_print ("\tconfirm-auth\n");
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
return 1;
|
|
Packit |
8fb625 |
}
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
window = bluetooth_pairing_dialog_new ();
|
|
Packit |
8fb625 |
bluetooth_pairing_dialog_set_mode (BLUETOOTH_PAIRING_DIALOG (window),
|
|
Packit |
8fb625 |
mode,
|
|
Packit |
8fb625 |
pin,
|
|
Packit |
8fb625 |
device);
|
|
Packit |
8fb625 |
g_signal_connect (G_OBJECT (window), "response",
|
|
Packit |
8fb625 |
G_CALLBACK (response_cb), window);
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
gtk_widget_show (window);
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
gtk_main ();
|
|
Packit |
8fb625 |
|
|
Packit |
8fb625 |
return 0;
|
|
Packit |
8fb625 |
}
|