#import <ObjFW/ObjFW.h>
#import "JubUI.h"
+#import "JubChatUI.h"
#import "JubConfig.h"
-@interface JubChatClient : OFObject <XMPPConnectionDelegate, XMPPRosterDelegate>
+@class JubAvatarManager;
+
+@interface JubChatClient : OFObject
+ <XMPPConnectionDelegate, XMPPRosterDelegate, XMPPContactManagerDelegate>
{
- XMPPConnection *connection;
- XMPPRoster *roster;
- XMPPStreamManagement *streamManagement;
- XMPPContactManager *contactManager;
- XMPPPresence *presence;
- id<JubUI> ui;
+ OFMutableDictionary *_chatMap;
+ XMPPConnection *_connection;
+ XMPPRoster *_roster;
+ XMPPStreamManagement *_streamManagement;
+ JubAvatarManager *_avatarManager;
+ XMPPContactManager *_contactManager;
+ XMPPDiscoEntity *_discoEntity;
+ XMPPPresence *_presence;
+ id<JubUI> _ui;
}
@property (readonly) XMPPConnection *connection;
@property (readonly) XMPPRoster *roster;
+@property (readonly) JubAvatarManager *avatarManager;
@property (readonly) XMPPContactManager *contactManager;
+@property (readonly) XMPPDiscoEntity *discoEntity;
@property (readonly) XMPPPresence *presence;
@property (assign) id<JubUI> ui;
- initWithConfig: (JubConfig*)config;
+- (id<JubChatUI>)chatForContact: (XMPPContact*)contact;
+- (void)sendPresenceWithStatus: (OFString*)status;
+- (void)sendPresenceWithStatus: (OFString*)status
+ text: (OFString*)text;
@end