Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma mark - ChatAppDelegate
- - (void)setupStream {
- self.xmppStream = [XMPPStream new];
- //AES l8e2f5zJt97b8A265q6E0y2kp87EUk
- [self.xmppStream setHostPort:5222];
- [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
- }
- - (void)goOnline {
- XMPPPresence *presence = [XMPPPresence presence];
- NSString *domain = [self.xmppStream.myJID domain];
- if ([domain isEqualToString:@"gmail.com"] || [domain isEqualToString:@"gtalk.com"] || [domain isEqualToString:@"talk.google.com"]) {
- NSXMLElement *priority = [NSXMLElement elementWithName:@"priority" stringValue:@"24"];
- [presence addChild:priority];
- }
- [self.xmppStream sendElement:presence];
- }
- - (void)goOffline {
- XMPPPresence *presence = [XMPPPresence presenceWithType:@"unavailable"];
- [self.xmppStream sendElement:presence];
- }
- - (BOOL)connectChat {
- [self setupStream];
- if (![self.xmppStream isDisconnected]) return YES;
- ZTUser *user = [ZTLoginHelper retrieveCurrentUser];
- NSString *userID = [NSString stringWithFormat:@"%@@ns335861.ip-37-187-161.eu", [user userXMPP] ]; usr_25@ns335861.ip-37-187-161.eu
- NSString *pass = [user passXMPP]; //passXMPP
- if (!userID || !pass) return NO;
- [self.xmppStream setMyJID:[XMPPJID jidWithString:userID]];
- self.chatPassword = pass;
- NSError *error = nil;
- if (![self.xmppStream connectWithTimeout:20 error:&error]) {
- NSLog(@"Impossible to connect %@", error.localizedDescription);
- return NO;
- }
- NSLog(@"connected");
- return YES;
- }
- - (void)disconnectChat {
- [self goOffline];
- [self.xmppStream disconnect];
- }
- - (BOOL)chatIsOpen {
- return self.chatIsOpen;
- }
- - (void)xmppStream:(XMPPStream *)sender willSecureWithSettings:(NSMutableDictionary *)settings {
- [settings setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
- NSString *expectedCertName = [self.xmppStream.myJID domain];
- if (expectedCertName) {
- [settings setObject:expectedCertName forKey:(NSString *)kCFStreamSSLPeerName];
- }}
- #pragma mark - XMPP Delegates
- #pragma mark - Successfully
- - (void)xmppStreamDidConnect:(XMPPStream *)sender {
- // connection to the server successful
- self.chatIsOpen = YES;
- NSError *error;
- if (![[self xmppStream] authenticateWithPassword:self.chatPassword error:&error]) {
- NSLog(@"Error authenticating: %@", error);
- }
- }
- - (void)xmppStreamDidAuthenticate:(XMPPStream *)sender {
- // authentication successful
- [self goOnline];
- }
- - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message {
- // message receive
- }
- - (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {
- // chat went offline/online
- }
- #pragma mark - Failure
- - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(DDXMLElement *)error {
- NSLog(@"%@", error);
- }
- - (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement