]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/core/main.m
Add a zxcv-like CLI frontend
[jubjub.git] / src / core / main.m
index 459a15c9a898f0ab126b50aad6a81019a97e8a46..fda8c5f96b5d59b229afed59b7f745fe9b75eb05 100644 (file)
@@ -2,6 +2,7 @@
 #import <ObjXMPP/ObjXMPP.h>
 
 #import "JubGtkUI.h"
+#import "JubCLIUI.h"
 #import "JubConfig.h"
 #import "JubChatClient.h"
 
@@ -22,11 +23,21 @@ OF_APPLICATION_DELEGATE(AppDelegate)
 
        _client = [[JubChatClient alloc] initWithConfig: config];
 
-       _ui = [[JubGtkUI alloc] initWithClient: _client];
+       if ([config.frontend isEqual: @"gtk"])
+               _ui = [[JubGtkUI alloc] initWithClient: _client];
+       else if ([config.frontend isEqual: @"cli"])
+               _ui = [[JubCLIUI alloc] initWithClient: _client];
+       else {
+               [of_stderr writeFormat: @"Unknown frontend '%@', known "
+                   @"frontends are 'gtk' and 'cli'\n", config.frontend];
+               [OFApplication terminate];
+       }
 
        _client.ui = _ui;
        [_client.connection addDelegate: self];
 
+       [_client.connection asyncConnectAndHandle];
+
        [_ui startUIThread];
 }