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