Blame lib/test-pairing-dialog.c

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