@@ -49,10 +49,12 @@ #import "XMPPPresence.h" #import "XMPPMulticastDelegate.h" #import "XMPPExceptions.h" #import "XMPPXMLElementBuilder.h" #import "namespaces.h" + +#import @implementation XMPPConnection + connection { return [[[self alloc] init] autorelease]; @@ -526,10 +528,12 @@ } } - (void)XMPP_startStream { + OFString *langString = @""; + /* Make sure we don't get any old events */ [parser setDelegate: nil]; [elementBuilder setDelegate: nil]; /* @@ -542,16 +546,21 @@ parser = [[OFXMLParser alloc] init]; [parser setDelegate: self]; elementBuilder = [[XMPPXMLElementBuilder alloc] init]; [elementBuilder setDelegate: self]; + + if (language != nil) + langString = [OFString stringWithFormat: @"xml:lang='%@' ", + language]; [sock writeFormat: @"\n" @"", domain]; + @"xmlns:stream='" XMPP_NS_STREAM @"' %@" + @"version='1.0'>", domain, langString]; + streamOpen = YES; } - (void)close { @@ -1039,10 +1048,20 @@ - (uint16_t)port { return port; } + +- (void)setLanguage: (OFString*)language_ +{ + OF_SETTER(language, language_, YES, YES) +} + +- (OFString*)language +{ + OF_GETTER(language, YES) +} - (void)addDelegate: (id )delegate { [delegates addDelegate: delegate]; }