/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ #ifndef _ABDefn_H_ #define _ABDefn_H_ /* max lengths for address book fields */ const int kMaxFullNameLength = 256; /* common name */ const int kMaxNameLength = 64; /* given, middle, family */ const int kMaxCompanyLength = 128; /* company name */ const int kMaxLocalityLength = 128; /* city */ const int kMaxRegionLength = 128; /* state */ const int kMaxCountryLength = 128; /* state */ const int kMaxEmailAddressLength = 256; const int kMaxInfo = 1024; const int kMaxTitle = 64; const int kMaxAddress = 128; const int kMaxZipCode = 40; const int kMaxPhone = 32; const int32 kMaxDN = 32768; const int kMaxCoolAddress = 256; const int kMaxAddressEntry = 1000; const short kDefaultDLS = 0; const short kSpecificDLS = 1; const short kHostOrIPAddress = 2; typedef uint32 ABID; /* This structure represents a single line in the address book pane */ typedef struct AB_EntryLineTag { ABID entryType; /* type of entry either person or list */ char fullname[256]; char emailAddress[256]; char companyName[128]; char nickname[64]; char locality[128]; char workPhone[32]; #ifdef XP_CPLUSPLUS public: void Initialize(); #endif } AB_EntryLine; typedef struct PersonEntryTag { char * pNickName; char * pGivenName; char * pMiddleName; char * pFamilyName; char * pCompanyName; char * pLocality; char * pRegion; char * pEmailAddress; char * pInfo; XP_Bool HTMLmail; char * pTitle; char * pPOAddress; char * pAddress; char * pZipCode; char * pCountry; char * pWorkPhone; char * pFaxPhone; char * pHomePhone; char * pDistName; short Security; char * pCoolAddress; short UseServer; int16 WinCSID; #ifdef XP_CPLUSPLUS public: void Initialize(); void CleanUp(); #endif } PersonEntry; typedef struct MailingListEntryTag { char * pFullName; char * pNickName; char * pInfo; char * pDistName; int16 WinCSID; #ifdef XP_CPLUSPLUS public: void Initialize(); void CleanUp(); #endif } MailingListEntry; const ABID ABTypeAll = 35; const ABID ABTypePerson = 36; const ABID ABTypeList = 37; const unsigned long ABTypeEntry = 0x70634944; /* ASCII - 'pcID' */ const unsigned long ABFullName = 0x636E2020; /* ASCII - 'cn ' */ const unsigned long ABNickname = 0x6E69636B; /* ASCII - 'nick' */ const unsigned long ABEmailAddress = 0x6D61696C; /* ASCII - 'mail' */ const unsigned long ABLocality = 0x6C6F6320; /* ASCII - 'loc ' */ const unsigned long ABCompany = 0x6F726720; /* ASCII - 'org ' */ /* defines for vcard support */ #define vCardClipboardFormat "+//ISBN 1-887687-00-9::versit::PDI//vCard" #define vCardMimeFormat "text/x-vcard" typedef enum { /* FILE MENU ========= */ AB_NewMessageCmd, /* Send a new message to the selected entries */ AB_ImportCmd, /* import a file into the address book */ AB_SaveCmd, /* export to a file */ AB_ExportCmd, /* same as AB_SaveCmd, but I like export better...*/ AB_CloseCmd, /* close the address book window */ AB_NewAddressBook, /* Create a new personal address book */ AB_NewLDAPDirectory, /* Create a new LDAP directory */ /* EDIT MENU ========= */ AB_UndoCmd, /* Undoes the last operation. */ AB_RedoCmd, /* Redoes the last undone operation. */ AB_DeleteCmd, /* Causes the given entries to be deleted. */ AB_DeleteAllCmd, /* Causes all occurrences of the given entries to be deleted. */ AB_LDAPSearchCmd, /* Perform an LDAP search */ /* VIEW/SORT MENUS =============== */ AB_SortByTypeCmd, /* Sort alphabetized by type. */ AB_SortByFullNameCmd, /* Sort alphabetizedby full name. */ AB_SortByLocality, /* Sort by state */ AB_SortByNickname, /* Sort by nickname */ AB_SortByEmailAddress, /* Sort by email address */ AB_SortByCompanyName, /* Sort by email address */ AB_SortAscending, /* Sort current column ascending */ AB_SortDescending, /* Sort current column descending */ /* these are the new sort command IDs added for the 2 pane AB. Use these instead of the previous ones...*/ AB_SortByColumnID0, AB_SortByColumnID1, AB_SortByColumnID2, AB_SortByColumnID3, AB_SortByColumnID4, AB_SortByColumnID5, AB_SortByColumnID6, /* ITEM MENU ============ */ AB_AddUserCmd, /* Add a user to the address book */ AB_AddMailingListCmd, /* Add a mailing list to the address book */ AB_PropertiesCmd, /* Get the properties of an entry */ AB_CallCmd, /* Call the entry using CallPoint */ AB_ImportLdapEntriesCmd, /* Add a user to the AB from an LDAP directory */ /* Mailing List Pane Specific Commands!!! */ AB_InsertLineCmd, /* Insert a blank entry line into the mailing list pane */ AB_ReplaceLineCmd /* Replace the entry in the mailing list pane with a blank entry */ } AB_CommandType; #endif