Put NSAutoreleasePool usage around other distributed notification observer methods
[adiumx.git] / Source / ESAddressBookIntegrationPlugin.h
blob6051cb2de520b8851d794f50c3cb0d8eaefe2da5
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.
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.
17 #import "ESAddressBookIntegrationAdvancedPreferences.h"
18 #import <AddressBook/AddressBook.h>
19 #import <Adium/AIPlugin.h>
20 #import <Adium/AIContactControllerProtocol.h>
21 #import <Adium/AIUserIcons.h>
23 #define PREF_GROUP_ADDRESSBOOK @"Address Book"
24 #define KEY_AB_ENABLE_IMPORT @"AB Enable Import"
25 #define KEY_AB_DISPLAYFORMAT @"AB Display Format"
26 #define KEY_AB_NOTE_SYNC @"AB Note Sync"
27 #define KEY_AB_USE_IMAGES @"AB Use AB Images"
28 #define KEY_AB_IMAGE_SYNC @"AB Image Sync"
29 #define KEY_AB_PREFER_ADDRESS_BOOK_IMAGES @"AB Prefer AB Images"
30 #define KEY_AB_USE_NICKNAME @"AB Use NickName"
31 #define KEY_AB_USE_MIDDLE @"AB Use Middle Name"
32 #define KEY_AB_CREATE_METACONTACTS @"AB Create MetaContacts"
33 #define KEY_AB_UNIQUE_ID @"AB Unique ID"
35 #define AB_DISPLAYFORMAT_DEFAULT_PREFS @"AB Display Format Defaults"
37 @class AIService, AIAddressBookUserIconSource;
39 typedef enum {
40 FirstLast = 0,
41 First,
42 LastFirst,
43 LastFirstNoComma,
44 FirstLastInitial
45 } NameStyle;
47 @interface ESAddressBookIntegrationPlugin : AIPlugin <AIListObjectObserver, ABImageClient> {
48 ESAddressBookIntegrationAdvancedPreferences *advancedPreferences;
50 NSMenuItem *showInABContextualMenuItem;
51 NSMenuItem *editInABContextualMenuItem;
52 NSMenuItem *addToABContexualMenuItem;
54 int meTag;
56 int displayFormat;
57 BOOL enableImport;
58 BOOL useNickName;
59 BOOL useMiddleName;
60 BOOL automaticSync;
61 BOOL createMetaContacts;
63 AIAddressBookUserIconSource *addressBookUserIconSource;
66 + (AIService *)serviceFromProperty:(NSString *)property;
68 + (NSString *)propertyFromService:(AIService *)service;
70 + (ABPerson *)personForListObject:(AIListObject *)inObject;
72 @end