X-Git-Url: http://cgit.babelmonkeys.de/?p=jubjub.git;a=blobdiff_plain;f=src%2Fcore%2FJubConfig.m;h=a3f11960ac064d6d5c9fdaf0e12511fa61575666;hp=33fe2c5d82f33ac3a6f84e1681c31304291b3f9c;hb=f2af67c5eefd2239f7c3cc7688896bd3258bb7ec;hpb=2e3ac1bbab94565d1c8d83c74f0aeb422e62b7e7 diff --git a/src/core/JubConfig.m b/src/core/JubConfig.m index 33fe2c5..a3f1196 100644 --- a/src/core/JubConfig.m +++ b/src/core/JubConfig.m @@ -11,14 +11,29 @@ @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) { @@ -38,19 +53,4 @@ [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