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

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

Initial commit of skeletal project.

Line 
1/*
2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
11 * Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
15 */
16
17#import <Adium/AIServiceIcons.h>
18
19@class AIAccountViewController, DCJoinChatViewController;
20
21//Service importance, used to group and order services
22typedef enum {
23        AIServicePrimary,
24        AIServiceSecondary,
25        AIServiceUnsupported
26} AIServiceImportance;
27
28@interface AIService : NSObject {
29
30}
31
32/*!
33 * @brief Called one time to register this service with Adium
34 *
35 * This is typically called by the principal class of a service plugin
36 */
37+ (void)registerService;
38
39//Account Creation
40- (id)accountWithUID:(NSString *)inUID internalObjectID:(NSString *)inInternalObjectID;
41- (Class)accountClass;
42- (AIAccountViewController *)accountViewController;
43- (DCJoinChatViewController *)joinChatView;
44
45//Service Description
46- (NSString *)serviceCodeUniqueID;
47- (NSString *)serviceID;
48- (NSString *)serviceClass;
49- (NSString *)shortDescription;
50- (NSString *)longDescription;
51- (NSString *)userNameLabel;
52- (NSString *)contactUserNameLabel;
53- (NSString *)UIDPlaceholder;
54- (AIServiceImportance)serviceImportance;
55- (NSImage *)defaultServiceIconOfType:(AIServiceIconType)iconType;
56
57//Service Properties
58- (NSCharacterSet *)allowedCharacters;
59- (NSCharacterSet *)allowedCharactersForUIDs;
60- (NSCharacterSet *)allowedCharactersForAccountName;
61- (NSCharacterSet *)ignoredCharacters;
62- (int)allowedLength;
63- (int)allowedLengthForUIDs;
64- (int)allowedLengthForAccountName;
65- (BOOL)caseSensitive;
66- (BOOL)canCreateGroupChats;
67- (BOOL)canRegisterNewAccounts;
68- (BOOL)supportsProxySettings;
69- (BOOL)supportsPassword;
70- (BOOL)requiresPassword;
71- (void)registerStatuses;
72- (BOOL)isSocialNetworkingService;
73- (NSString *)defaultUserName;
74- (BOOL)isHidden;
75
76//Utilities
77- (NSString *)normalizeUID:(NSString *)inUID removeIgnoredCharacters:(BOOL)removeIgnored;
78- (NSString *)normalizeChatName:(NSString *)inChatName;
79
80@end
Note: See TracBrowser for help on using the browser.