X-Git-Url: http://cgit.babelmonkeys.de/?p=jubjub.git;a=blobdiff_plain;f=src%2Fcore%2FJubChatClient.m;h=77a4791541806bff07e079e3ecf01b7f4f26a1ae;hp=9acdf3935addec8aed8df165bcb5630eb0208893;hb=bfecc06eee92ced72c224a4d2c98dbdb8f08d3f2;hpb=b6080bda8e1fc3899923666b8cd0ceadf09918c8 diff --git a/src/core/JubChatClient.m b/src/core/JubChatClient.m index 9acdf39..77a4791 100644 --- a/src/core/JubChatClient.m +++ b/src/core/JubChatClient.m @@ -27,6 +27,7 @@ _contactManager = [[XMPPContactManager alloc] initWithConnection: _connection roster: _roster]; + [_contactManager addDelegate: self]; _streamManagement = [[XMPPStreamManagement alloc] initWithConnection: _connection]; @@ -42,6 +43,10 @@ - (void)dealloc { + [_roster removeDelegate: self]; + [_contactManager removeDelegate: self]; + [_connection removeDelegate: self]; + [_roster release]; [_contactManager release]; [_streamManagement release]; @@ -103,6 +108,17 @@ } } +- (void)contact: (XMPPContact*)contact + didSendMessage: (XMPPMessage*)message +{ + if (message.body == nil || ![message.type isEqual: @"chat"]) + return; + + id chat = [self chatForContact: contact]; + [chat addMessage: message.body + sender: [message.from bareJID]]; +} + - (void)rosterWasReceived: (XMPPRoster*)roster { XMPPPresence *pres = [XMPPPresence presence];