1#import <Foundation/NSObject.h> 2#import <AppKit/NSNibDeclarations.h> 3 4@class NSMutableSet; 5@class MVChatConnection; 6@class NSSet; 7@class JVChatWindowController; 8@class NSString; 9@class JVChatRoom; 10@class JVDirectChat; 11@class JVChatTranscript; 12@class JVChatConsole; 13@class NSAttributedString; 14 15@protocol JVChatViewController; 16 17@interface JVChatController : NSObject { 18 @private 19 NSMutableArray *_chatWindows; 20 NSMutableArray *_chatControllers; 21 NSMutableDictionary *_ignoreRules; 22} 23+ (JVChatController *) defaultManager; 24 25- (NSSet *) allChatWindowControllers; 26- (JVChatWindowController *) newChatWindowController; 27- (void) disposeChatWindowController:(JVChatWindowController *) controller; 28 29- (NSSet *) allChatViewControllers; 30- (NSSet *) chatViewControllersWithConnection:(MVChatConnection *) connection; 31- (NSSet *) chatViewControllersOfClass:(Class) class; 32- (NSSet *) chatViewControllersKindOfClass:(Class) class; 33- (JVChatRoom *) chatViewControllerForRoom:(NSString *) room withConnection:(MVChatConnection *) connection ifExists:(BOOL) exists; 34- (JVDirectChat *) chatViewControllerForUser:(NSString *) user withConnection:(MVChatConnection *) connection ifExists:(BOOL) exists; 35- (JVDirectChat *) chatViewControllerForUser:(NSString *) user withConnection:(MVChatConnection *) connection ifExists:(BOOL) exists userInitiated:(BOOL) requested; 36- (JVChatTranscript *) chatViewControllerForTranscript:(NSString *) filename; 37- (JVChatConsole *) chatConsoleForConnection:(MVChatConnection *) connection ifExists:(BOOL) exists; 38 39- (void) disposeViewController:(id <JVChatViewController>) controller; 40- (void) detachViewController:(id <JVChatViewController>) controller; 41 42- (IBAction) detachView:(id) sender; 43 44- (void) addIgnore:(NSString *)inIgnoreName withKey:(NSString *)ignoreKeyExpression inRooms:(NSArray *) rooms usesRegex:(BOOL) regex isMember:(BOOL) member; 45- (BOOL) shouldIgnoreUser:(NSString *) user inRoom:(NSString *) room; 46- (BOOL) shouldIgnoreMessage:(NSAttributedString *) message inRoom:(NSString *) room; 47- (BOOL) shouldIgnoreMessage:(NSAttributedString *) message fromUser:(NSString *)user inRoom:(NSString *) room; 48@end 49