root/Trunk/Adium.framework/Versions/A/Headers/AIChatControllerProtocol.h @ 2

Revision 2, 2.3 KB (checked in by jon, 16 years ago)

Initial commit of skeletal project.

Line 
1/*
2 *  AIChatControllerProtocol.h
3 *  Adium
4 *
5 *  Created by Evan Schoenberg on 7/31/06.
6 *
7 */
8
9#import <Adium/AIControllerProtocol.h>
10#import <Adium/AIListContact.h>
11
12@protocol AIChatController_Private;
13@class AIChat, AIAccount;
14
15//Observer which receives notifications of changes in chat status
16@protocol AIChatObserver
17- (NSSet *)updateChat:(AIChat *)inChat keys:(NSSet *)inModifiedKeys silent:(BOOL)silent;
18@end
19
20@protocol AIChatController <AIController, AIChatController_Private>
21//Chats
22- (AIChat *)mostRecentUnviewedChat;
23- (NSSet *)allChatsWithContact:(AIListContact *)inContact;
24- (AIChat *)openChatWithContact:(AIListContact *)inContact onPreferredAccount:(BOOL)onPreferredAccount;
25- (AIChat *)chatWithContact:(AIListContact *)inContact;
26- (AIChat *)existingChatWithContact:(AIListContact *)inContact;
27- (AIChat *)existingChatWithUniqueChatID:(NSString *)uniqueChatID;
28- (AIChat *)chatWithName:(NSString *)inName
29                          identifier:(id)identifier
30                           onAccount:(AIAccount *)account
31                chatCreationInfo:(NSDictionary *)chatCreationInfo;
32
33- (AIChat *)existingChatWithIdentifier:(id)identifier onAccount:(AIAccount *)account;
34- (AIChat *)existingChatWithName:(NSString *)name onAccount:(AIAccount *)account;
35
36- (BOOL)closeChat:(AIChat *)inChat;
37- (void)accountDidCloseChat:(AIChat *)inChat;
38
39- (NSSet *)openChats;
40- (AIChat *)mostRecentUnviewedChat;
41- (int)unviewedContentCount;
42- (int)unviewedConversationCount;
43- (void)switchChat:(AIChat *)chat toAccount:(AIAccount *)newAccount;
44- (void)switchChat:(AIChat *)chat toListContact:(AIListContact *)inContact usingContactAccount:(BOOL)useContactAccount;
45- (BOOL)contactIsInGroupChat:(AIListContact *)listContact;
46
47        //Status
48- (void)registerChatObserver:(id <AIChatObserver>)inObserver;
49- (void)unregisterChatObserver:(id <AIChatObserver>)inObserver;
50- (void)updateAllChatsForObserver:(id <AIChatObserver>)observer;
51
52        //Addition/removal of contacts to group chats
53- (void)chat:(AIChat *)chat addedListContact:(AIListContact *)inContact notify:(BOOL)notify;
54- (void)chat:(AIChat *)chat removedListContact:(AIListContact *)inContact;
55
56- (NSString *)defaultInvitationMessageForRoom:(NSString *)room account:(AIAccount *)inAccount;
57@end
58
59@protocol AIChatController_Private
60- (void)chatStatusChanged:(AIChat *)inChat modifiedStatusKeys:(NSSet *)inModifiedKeys silent:(BOOL)silent;
61@end
Note: See TracBrowser for help on using the browser.