Advertisement
Guest User

Untitled

a guest
May 18th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #pragma mark - ChatAppDelegate
  2. - (void)setupStream {
  3.     self.xmppStream = [XMPPStream new];
  4.     //AES l8e2f5zJt97b8A265q6E0y2kp87EUk
  5.     [self.xmppStream setHostPort:5222];
  6.     [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
  7. }
  8.  
  9. - (void)goOnline {
  10.     XMPPPresence *presence = [XMPPPresence presence];
  11.     NSString *domain = [self.xmppStream.myJID domain];
  12.     if ([domain isEqualToString:@"gmail.com"] || [domain isEqualToString:@"gtalk.com"] || [domain isEqualToString:@"talk.google.com"]) {
  13.         NSXMLElement *priority = [NSXMLElement elementWithName:@"priority" stringValue:@"24"];
  14.         [presence addChild:priority];
  15.     }
  16.  
  17.     [self.xmppStream sendElement:presence];
  18. }
  19.  
  20. - (void)goOffline {
  21.     XMPPPresence *presence = [XMPPPresence presenceWithType:@"unavailable"];
  22.     [self.xmppStream sendElement:presence];
  23. }
  24.  
  25. - (BOOL)connectChat {
  26.     [self setupStream];
  27.     if (![self.xmppStream isDisconnected]) return YES;
  28.  
  29.     ZTUser *user = [ZTLoginHelper retrieveCurrentUser];
  30.    
  31.     NSString *userID = [NSString stringWithFormat:@"%@@ns335861.ip-37-187-161.eu", [user userXMPP] ]; usr_25@ns335861.ip-37-187-161.eu
  32.     NSString *pass = [user passXMPP]; //passXMPP
  33.    
  34.     if (!userID || !pass) return NO;
  35.    
  36.    
  37.     [self.xmppStream setMyJID:[XMPPJID jidWithString:userID]];
  38.     self.chatPassword = pass;
  39.    
  40.     NSError *error = nil;
  41.     if (![self.xmppStream connectWithTimeout:20 error:&error]) {
  42.         NSLog(@"Impossible to connect %@", error.localizedDescription);
  43.         return NO;
  44.     }
  45.    
  46.     NSLog(@"connected");
  47.    
  48.     return YES;
  49. }
  50.  
  51. - (void)disconnectChat {
  52.     [self goOffline];
  53.     [self.xmppStream disconnect];
  54. }
  55.  
  56. - (BOOL)chatIsOpen {
  57.     return self.chatIsOpen;
  58. }
  59.  
  60. - (void)xmppStream:(XMPPStream *)sender willSecureWithSettings:(NSMutableDictionary *)settings {
  61.     [settings setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
  62.     NSString *expectedCertName = [self.xmppStream.myJID domain];
  63.     if (expectedCertName) {
  64.         [settings setObject:expectedCertName forKey:(NSString *)kCFStreamSSLPeerName];
  65.     }}
  66.  
  67. #pragma mark - XMPP Delegates
  68. #pragma mark - Successfully
  69. - (void)xmppStreamDidConnect:(XMPPStream *)sender {
  70.     // connection to the server successful
  71.     self.chatIsOpen = YES;
  72.     NSError *error;
  73.    
  74.     if (![[self xmppStream] authenticateWithPassword:self.chatPassword error:&error]) {
  75.         NSLog(@"Error authenticating: %@", error);
  76.     }
  77. }
  78.  
  79. - (void)xmppStreamDidAuthenticate:(XMPPStream *)sender {
  80.     // authentication successful
  81.     [self goOnline];
  82. }
  83.  
  84. - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message {
  85.     // message receive
  86.    
  87. }
  88.  
  89. - (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {
  90.     // chat went offline/online
  91.    
  92. }
  93.  
  94. #pragma mark - Failure
  95.  
  96. - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(DDXMLElement *)error {
  97.     NSLog(@"%@", error);
  98.    
  99. }
  100.  
  101. - (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error {
  102.    
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement