зеркало из https://github.com/mozilla/pjs.git
163 строки
5.4 KiB
Plaintext
163 строки
5.4 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
* for the specific language governing rights and limitations under the
|
|
* License.
|
|
*
|
|
* The Original Code is mozilla.org code.
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* Netscape Communications Corporation.
|
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
|
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file under
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
*
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
%{C++
|
|
// Constants used for default email.
|
|
// "0": screen name, "1": other email #1, "2": other email #2
|
|
#define AB_DEFAULT_EMAIL_IS_SCREEN_NAME "0"
|
|
#define AB_DEFAULT_EMAIL_IS_EMAIL_1 "1"
|
|
#define AB_DEFAULT_EMAIL_IS_EMAIL_2 "2"
|
|
|
|
// Constants used for card types.
|
|
// "" or "0": normal, "1": AOL groups, "2": AOL additional email address
|
|
#define AB_CARD_IS_NORMAL_CARD "0"
|
|
#define AB_CARD_IS_AOL_GROUPS "1"
|
|
#define AB_CARD_IS_AOL_ADDITIONAL_EMAIL "2"
|
|
|
|
%}
|
|
|
|
[scriptable, uuid(97448252-F189-11d4-A422-001083003D0C)]
|
|
interface nsIAbPreferMailFormat {
|
|
const unsigned long unknown = 0;
|
|
const unsigned long plaintext = 1;
|
|
const unsigned long html = 2;
|
|
};
|
|
|
|
[scriptable, uuid(182071F5-63E2-4456-A095-DEBC0380BC86)]
|
|
interface nsIAbCard : nsISupports {
|
|
// Card properties
|
|
attribute wstring firstName;
|
|
attribute wstring lastName;
|
|
attribute wstring phoneticFirstName;
|
|
attribute wstring phoneticLastName;
|
|
attribute wstring displayName;
|
|
attribute wstring nickName;
|
|
attribute wstring primaryEmail;
|
|
attribute wstring secondEmail;
|
|
attribute wstring defaultEmail;
|
|
attribute wstring cardType;
|
|
attribute wstring workPhone;
|
|
attribute wstring homePhone;
|
|
attribute wstring faxNumber;
|
|
attribute wstring pagerNumber;
|
|
attribute wstring cellularNumber;
|
|
attribute wstring workPhoneType;
|
|
attribute wstring homePhoneType;
|
|
attribute wstring faxNumberType;
|
|
attribute wstring pagerNumberType;
|
|
attribute wstring cellularNumberType;
|
|
attribute wstring homeAddress;
|
|
attribute wstring homeAddress2;
|
|
attribute wstring homeCity;
|
|
attribute wstring homeState;
|
|
attribute wstring homeZipCode;
|
|
attribute wstring homeCountry;
|
|
attribute wstring workAddress;
|
|
attribute wstring workAddress2;
|
|
attribute wstring workCity;
|
|
attribute wstring workState;
|
|
attribute wstring workZipCode;
|
|
attribute wstring workCountry;
|
|
attribute wstring jobTitle;
|
|
attribute wstring department;
|
|
attribute wstring company;
|
|
attribute wstring aimScreenName;
|
|
attribute wstring anniversaryYear;
|
|
attribute wstring anniversaryMonth;
|
|
attribute wstring anniversaryDay;
|
|
attribute wstring spouseName;
|
|
attribute wstring familyName;
|
|
attribute wstring defaultAddress;
|
|
attribute wstring category;
|
|
/**
|
|
* webPage1 is work web page
|
|
*/
|
|
attribute wstring webPage1;
|
|
/**
|
|
* webPage2 is home web page
|
|
*/
|
|
attribute wstring webPage2;
|
|
attribute wstring birthYear;
|
|
attribute wstring birthMonth;
|
|
attribute wstring birthDay;
|
|
attribute wstring custom1;
|
|
attribute wstring custom2;
|
|
attribute wstring custom3;
|
|
attribute wstring custom4;
|
|
attribute wstring notes;
|
|
attribute unsigned long lastModifiedDate;
|
|
attribute unsigned long popularityIndex; /* bumped every time e-mail is sent to this recipient */
|
|
attribute unsigned long preferMailFormat;
|
|
attribute boolean isMailList;
|
|
/**
|
|
* If isMailList is true then mailListURI
|
|
* will contain the URI of the associated
|
|
* mail list
|
|
*/
|
|
attribute string mailListURI;
|
|
|
|
/**
|
|
* Card type helper attributes
|
|
*/
|
|
readonly attribute boolean isANormalCard;
|
|
readonly attribute boolean isASpecialGroup;
|
|
readonly attribute boolean isAnEmailAddress;
|
|
|
|
wstring getCardValue(in string name);
|
|
|
|
void setCardValue(in string attrname, in wstring value);
|
|
|
|
// Copies the card attributes from srcCard
|
|
void copy(in nsIAbCard srcCard);
|
|
|
|
// Edits an existing card in the directory defined by 'uri'
|
|
// Rename to editCardInDirectory
|
|
// Component will be an RDF card, since it has already
|
|
// been created
|
|
//
|
|
// XXX FIX ME, this should not be a the card, it should be on the addressbook.
|
|
void editCardToDatabase(in string uri);
|
|
|
|
boolean equals(in nsIAbCard card);
|
|
|
|
string convertToBase64EncodedXML();
|
|
wstring convertToXMLPrintData();
|
|
string convertToEscapedVCard();
|
|
};
|