]> cgit.babelmonkeys.de Git - jubjub.git/blobdiff - src/core/JubChatClient.m
Track current presence
[jubjub.git] / src / core / JubChatClient.m
index a31bdb598efcaee9b881955bd58cb3b5d6961a93..d539d9025c615152e38e1cc832cfe6a3e4f7623d 100644 (file)
@@ -3,6 +3,7 @@
 @implementation JubChatClient
 @synthesize connection;
 @synthesize roster;
+@synthesize presence;
 @synthesize ui;
 
 - initWithConfig: (JubConfig*)config
        [roster release];
        [streamManagement release];
        [connection release];
+       [presence release];
 
        [super dealloc];
 }
 
-- (void)connection: (XMPPConnection*)conn_
+- (void)connection: (XMPPConnection*)connection_
      wasBoundToJID: (XMPPJID*)jid
 {
        of_log(@"Bound to JID: %@", [jid fullJID]);
        [roster requestRoster];
 }
 
+-   (void)connection: (XMPPConnection*)connection_
+  didReceivePresence: (XMPPPresence*)presence_
+{
+       if ([presence_.from isEqual: connection.JID]) {
+               [ui          client: self
+                 didChangePresence: presence_];
+               OF_SETTER(presence, presence_, YES, 0);
+       }
+}
+
 - (void)rosterWasReceived: (XMPPRoster*)roster
 {
-       [connection sendStanza: [XMPPPresence presence]];
+       XMPPPresence *pres = [XMPPPresence presence];
+       [pres addStatus: @"Hello from JubJub"];
+       [connection sendStanza: pres];
 }
 @end