summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c41
1 files changed, 32 insertions, 9 deletions
diff --git a/src/main.c b/src/main.c
index 3db9eb6..abf6ba0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,6 +2,7 @@
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
+#include <stdbool.h>
#include <gtk-3.0/gtk/gtk.h>
#include "auth.h"
#include "http.h"
@@ -13,18 +14,40 @@ static GtkWidget *box;
static GtkWidget *instance_name_box, *email_box, *password_box;
static GtkWidget *submit_button;
-static void submit_login_form()
+static void login_callback(bool success)
{
- const char *instance_name, *email, *password;
- instance_name = gtk_entry_get_text(GTK_ENTRY(instance_name_box));
+ if (!success) {
+ fprintf(stderr, "login_callback(): login failed\n");
+ return;
+ }
+
+ printf("login success\n");
+}
+
+static void register_callback(bool success)
+{
+ if (!success) {
+ fprintf(stderr, "register_callback(): register failed\n");
+ return;
+ }
+ printf("register success\n");
+
+ const char *email, *password;
email = gtk_entry_get_text(GTK_ENTRY(email_box));
password = gtk_entry_get_text(GTK_ENTRY(password_box));
- g_print("\n%s\n%s\n%s\n", instance_name, email, password);
- char *in = strdup(instance_name);
- int ok;
- ok = register_app(in);
- fprintf(stderr, "submit_login_form(): return val %d\n", ok);
- free(in);
+
+ if(login(email, password, &login_callback)) {
+ return;
+ }
+}
+
+static void submit_login_form()
+{
+ const char *instance_name;
+ instance_name = gtk_entry_get_text(GTK_ENTRY(instance_name_box));
+ if(register_app(instance_name, &register_callback)) {
+ return;
+ }
}
static void submit_button_clicked(GtkButton *button, gpointer user_data)