5 // Created by Adam Iser on 8/26/04.
6 // Copyright (c) 2004-2006 The Adium Team. All rights reserved.
9 #import <Adium/AIStatusControllerProtocol.h>
10 #import "AWBonjourAccount.h"
11 #import "AWBonjourService.h"
12 #import "ESBonjourAccountViewController.h"
13 #import <Adium/DCJoinChatViewController.h>
15 @implementation AWBonjourService
18 - (Class)accountClass{
19 return [AWBonjourAccount class];
22 - (AIAccountViewController *)accountViewController{
23 return [ESBonjourAccountViewController accountViewController];
26 - (DCJoinChatViewController *)joinChatView{
27 return [DCJoinChatViewController joinChatView];
31 - (NSString *)serviceCodeUniqueID{
32 return @"bonjour-libezv";
34 - (NSString *)serviceID{
37 - (NSString *)serviceClass{
40 - (NSString *)shortDescription{
43 - (NSString *)longDescription{
46 - (NSCharacterSet *)allowedCharacters{
47 return [[NSCharacterSet illegalCharacterSet] invertedSet];
49 - (NSCharacterSet *)ignoredCharacters{
50 return [NSCharacterSet characterSetWithCharactersInString:@""];
55 - (BOOL)caseSensitive{
58 - (AIServiceImportance)serviceImportance{
59 return AIServiceSecondary;
61 - (BOOL)supportsProxySettings{
64 //No need for a password for Bonjour accounts
65 - (BOOL)supportsPassword
69 - (void)registerStatuses{
70 [[adium statusController] registerStatus:STATUS_NAME_AVAILABLE
71 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AVAILABLE]
72 ofType:AIAvailableStatusType
75 [[adium statusController] registerStatus:STATUS_NAME_AWAY
76 withDescription:[[adium statusController] localizedDescriptionForCoreStatusName:STATUS_NAME_AWAY]
77 ofType:AIAwayStatusType
80 - (NSString *)defaultUserName {
81 return NSFullUserName();