Libpurple.framework [484]: libpurple 2.2.0
[adiumx.git] / Source / ESAddressBookIntegrationPlugin.h
blobf6ed276afd27f8fdb394d311f4efea8ad08a6421
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>
22 #define PREF_GROUP_ADDRESSBOOK @"Address Book"
23 #define KEY_AB_ENABLE_IMPORT @"AB Enable Import"
24 #define KEY_AB_DISPLAYFORMAT @"AB Display Format"
25 #define KEY_AB_IMAGE_SYNC @"AB Image Sync"
26 #define KEY_AB_NOTE_SYNC @"AB Note Sync"
27 #define KEY_AB_USE_IMAGES @"AB Use AB Images"
28 #define KEY_AB_USE_NICKNAME @"AB Use NickName"
29 #define KEY_AB_USE_MIDDLE @"AB Use Middle Name"
30 #define KEY_AB_PREFER_ADDRESS_BOOK_IMAGES @"AB Prefer AB Images"
31 #define KEY_AB_CREATE_METACONTACTS @"AB Create MetaContacts"
32 #define KEY_AB_UNIQUE_ID @"AB Unique ID"
34 #define AB_DISPLAYFORMAT_DEFAULT_PREFS @"AB Display Format Defaults"
36 @class AIService;
38 typedef enum {
39 FirstLast = 0,
40 First,
41 LastFirst,
42 LastFirstNoComma
43 } NameStyle;
45 @interface ESAddressBookIntegrationPlugin : AIPlugin <AIListObjectObserver, ABImageClient> {
47 ESAddressBookIntegrationAdvancedPreferences *advancedPreferences;
49 NSMutableDictionary *addressBookDict;
51 NSMutableArray *listObjectArrayForImageData;
52 NSMutableArray *personArrayForImageData;
53 NSTimer *imageLookupTimer;
54 NSMutableDictionary *trackingDict;
55 NSMutableDictionary *trackingDictPersonToTagNumber;
56 NSMutableDictionary *trackingDictTagNumberToPerson;
58 NSMenuItem *showInABContextualMenuItem;
59 NSMenuItem *editInABContextualMenuItem;
60 NSMenuItem *addToABContexualMenuItem;
62 int meTag;
64 int displayFormat;
65 BOOL enableImport;
66 BOOL useNickName;
67 BOOL useMiddleName;
68 BOOL automaticSync;
69 BOOL preferAddressBookImages;
70 BOOL useABImages;
71 BOOL createMetaContacts;
74 + (AIService *)serviceFromProperty:(NSString *)property;
76 + (NSString *)propertyFromService:(AIService *)service;
78 @end