/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape 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/NPL/ * * 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 Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ #include "nsISupports.idl" interface nsIAddrDatabase; [ptr] native nsVoidArray(nsVoidArray); %{C++ #include "nsVoidArray.h" %} [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(FA5C977F-04C8-11d3-A2EB-001083003D0C)] interface nsIAbCard : nsISupports { // Card properties attribute wstring firstName; attribute wstring lastName; attribute wstring displayName; attribute wstring nickName; attribute wstring primaryEmail; attribute wstring secondEmail; attribute wstring workPhone; attribute wstring homePhone; attribute wstring faxNumber; attribute wstring pagerNumber; attribute wstring cellularNumber; 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 webPage1; 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 wstring name; attribute unsigned long preferMailFormat; attribute boolean isMailList; // If isMailList==true then this string // will contain the URI of the associated // mail list attribute string mailListURI; wstring getCardValue(in string attrname); void setCardValue(in string attrname, in wstring value); // Copies the card attributes from srcCard void copy(in nsIAbCard srcCard); readonly attribute string printCardUrl; // Adds a new card to the directory defined by 'uri' // Rename to addCardToDirectory // // Returns an intstance of a card which // is an RDF resource component nsIAbCard addCardToDatabase(in string uri); // Behaviour wise this is very similar to the // addCardToDatabase method, except that it // assumes the uri refers to a directory that // is not a mail list // This method is rendundent, droping a card // onto a list should be allowed. // Rename to dropCardToDirectory // // Returns an intstance of a card which // is an RDF resource component nsIAbCard dropCardToDatabase(in string uri); // 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 // void editCardToDatabase(in string uri); // Not sure what this does. Used by the // card data source for values of collation // properties, somthing to do with locales // and sorting. Gets called when selecting // table headers like Name and Email. wstring getCollationKey(in wstring str); };