]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/core/main.m
Add basic config file support
[jubjub.git] / src / core / main.m
index 6b03d9565f4563b6e2e46b0eee654d460d5049c0..9ec84951de2042dbace938b3e7411768e11e2efe 100644 (file)
@@ -2,6 +2,7 @@
 #import <ObjXMPP/ObjXMPP.h>
 
 #import "JubGtkUI.h"
+#import "JubConfig.h"
 
 @interface AppDelegate: OFObject
     <OFApplicationDelegate, XMPPConnectionDelegate, XMPPRosterDelegate>
@@ -17,19 +18,19 @@ OF_APPLICATION_DELEGATE(AppDelegate)
 @implementation AppDelegate
 - (void)applicationDidFinishLaunching
 {
-       ui = [[JubGtkUI alloc] init];
-       id<XMPPRosterDelegate, XMPPConnectionDelegate> rosterDelegate =
-           [ui rosterDelegate];
+       id<XMPPRosterDelegate, XMPPConnectionDelegate> rosterDelegate;
+       JubConfig *config = [[JubConfig alloc] initWithFile: @"config.xml"];
 
        connection = [[XMPPConnection alloc] init];
        [connection addDelegate: self];
 
-       connection.domain = @"localhost";
-       connection.username = @"alice";
-       connection.password = @"test";
+       connection.domain = config.domain;
+       connection.server = config.server;
+       connection.username = config.username;
+       connection.password = config.password;
 
-       [connection connect];
-       [connection handleConnection];
+       ui = [[JubGtkUI alloc] initWithConnection: connection];
+       rosterDelegate = [ui rosterDelegate];
 
        [connection addDelegate: rosterDelegate];
 
@@ -37,6 +38,8 @@ OF_APPLICATION_DELEGATE(AppDelegate)
        [roster addDelegate: rosterDelegate];
        [roster addDelegate: self];
 
+       [connection asyncConnectAndHandle];
+
        [ui startUIThread];
 }