]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/core/JubConfig.m
Prefix ivars with an underscore
[jubjub.git] / src / core / JubConfig.m
index 33fe2c5d82f33ac3a6f84e1681c31304291b3f9c..b8a5f5a3f3652d1ba489d45493c8ec261cc4ca3f 100644 (file)
@@ -1,9 +1,10 @@
 #import "JubConfig.h"
 
 @implementation JubConfig
-@synthesize domain, server;
-@synthesize username;
-@synthesize password;
+@synthesize domain = _domain;
+@synthesize server = _server;;
+@synthesize username = _username;
+@synthesize password = _password;
 
 - initWithFile: (OFString*)file
 {
 
        @try {
                OFAutoreleasePool *pool = [OFAutoreleasePool new];
-               OFXMLParser *parser = [OFXMLParser parser];
-               OFXMLElementBuilder *builder =
-                   [OFXMLElementBuilder elementBuilder];
-
-               parser.delegate = builder;
-               builder.delegate = self;
-
-               [parser parseFile: file];
+               OFXMLElement *element = [OFXMLElement elementWithFile: file];
+
+               if (![element.name isEqual: @"config"] ||
+                   ![element.namespace isEqual: CONFIG_NS]) {
+                       // TODO: load default config
+                       [pool release];
+                       return self;
+               }
+
+               // TODO: Add error handling for missing elements
+               of_log(@"Parsed file: %@", element);
+               _domain = [[[element
+                   elementForName: @"domain"
+                        namespace: CONFIG_NS] stringValue] copy];
+               _server = [[[element
+                   elementForName: @"server"
+                        namespace: CONFIG_NS] stringValue] copy];
+               _username = [[[element
+                   elementForName: @"username"
+                        namespace: CONFIG_NS] stringValue] copy];
+               _password = [[[element
+                   elementForName: @"password"
+                        namespace: CONFIG_NS] stringValue] copy];
 
                [pool release];
        } @catch (id e) {
 
 - (void)dealloc
 {
-       [domain release];
-       [server release];
-       [username release];
-       [password release];
+       [_domain release];
+       [_server release];
+       [_username release];
+       [_password release];
 
        [super dealloc];
 }
-
-- (void)elementBuilder: (OFXMLElementBuilder*)builder
-       didBuildElement: (OFXMLElement*)element
-{
-       // TODO: At error handling for missing elements
-       of_log(@"Parsed file: %@", element);
-       domain = [[[element elementForName: @"domain"
-                                namespace: CONFIG_NS] stringValue] copy];
-       server = [[[element elementForName: @"server"
-                                namespace: CONFIG_NS] stringValue] copy];
-       username = [[[element elementForName: @"username"
-                                  namespace: CONFIG_NS] stringValue] copy];
-       password = [[[element elementForName: @"password"
-                                  namespace: CONFIG_NS] stringValue] copy];
-}
 @end