root/tags/2C11/JVBuddy.h

Revision 1823, 2.3 kB (checked in by timothy, 4 years ago)

Moved Colloquy to a pre-compiled header. Removed all #imports that are part of the Cocoa, WebKit? and AGRegex frameworks. Removed all @class declarations that are part of the Cocoa frameworks.

Line 
1 extern NSString *JVBuddyCameOnlineNotification;
2 extern NSString *JVBuddyWentOfflineNotification;
3
4 extern NSString *JVBuddyNicknameCameOnlineNotification;
5 extern NSString *JVBuddyNicknameWentOfflineNotification;
6 extern NSString *JVBuddyNicknameStatusChangedNotification;
7
8 extern NSString *JVBuddyActiveNicknameChangedNotification;
9
10 @class ABPerson;
11
12 typedef enum {
13         JVBuddyOfflineStatus = 'oflN',
14         JVBuddyAvailableStatus = 'avaL',
15         JVBuddyIdleStatus = 'idlE',
16         JVBuddyAwayStatus = 'awaY'
17 } JVBuddyStatus;
18
19 typedef enum {
20         JVBuddyActiveNickname = 0x0,
21         JVBuddyGivenNickname = 0x1,
22         JVBuddyFullName = 0x2
23 } JVBuddyName;
24
25 @interface JVBuddy : NSObject {
26         ABPerson *_person;
27         NSMutableSet *_nicknames;
28         NSMutableSet *_onlineNicknames;
29         NSMutableDictionary *_nicknameStatus;
30         NSURL *_activeNickname;
31 }
32 + (JVBuddyName) preferredName;
33 + (void) setPreferredName:(JVBuddyName) preferred;
34
35 + (id) buddyWithPerson:(ABPerson *) person;
36 + (id) buddyWithUniqueIdentifier:(NSString *) identifier;
37
38 - (id) initWithPerson:(ABPerson *) person;
39
40 - (void) registerWithApplicableConnections;
41 - (void) unregisterWithApplicableConnections;
42
43 - (NSURL *) activeNickname;
44 - (void) setActiveNickname:(NSURL *) nickname;
45
46 - (JVBuddyStatus) status;
47 - (BOOL) isOnline;
48 - (NSTimeInterval) idleTime;
49 - (NSString *) awayMessage;
50
51 - (NSSet *) nicknames;
52 - (NSSet *) onlineNicknames;
53
54 - (void) addNickname:(NSURL *) nickname;
55 - (void) removeNickname:(NSURL *) nickname;
56 - (void) replaceNickname:(NSURL *) old withNickname:(NSURL *) new;
57
58 - (NSImage *) picture;
59 - (void) setPicture:(NSImage *) picture;
60
61 - (NSString *) preferredName;
62 - (JVBuddyName) preferredNameWillReturn;
63 - (unsigned int) availableNames;
64
65 - (NSString *) compositeName;
66 - (NSString *) firstName;
67 - (NSString *) lastName;
68 - (NSString *) primaryEmail;
69 - (NSString *) givenNickname;
70
71 - (void) setFirstName:(NSString *) name;
72 - (void) setLastName:(NSString *) name;
73 - (void) setPrimaryEmail:(NSString *) email;
74 - (void) setGivenNickname:(NSString *) name;
75
76 - (NSString *) uniqueIdentifier;
77 - (ABPerson *) person;
78 - (void) editInAddressBook;
79 - (void) viewInAddressBook;
80
81 - (NSComparisonResult) availabilityCompare:(JVBuddy *) buddy;
82 - (NSComparisonResult) firstNameCompare:(JVBuddy *) buddy;
83 - (NSComparisonResult) lastNameCompare:(JVBuddy *) buddy;
84 - (NSComparisonResult) serverCompare:(JVBuddy *) buddy;
85 - (NSComparisonResult) nicknameCompare:(JVBuddy *) buddy;
86 @end
Note: See TracBrowser for help on using the browser.