/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIAbCard.idl
 */

#ifndef __gen_nsIAbCard_h__
#define __gen_nsIAbCard_h__

#include "nsISupports.h"

class nsIAddrDatabase; /* forward declaration */

#include "nsVoidArray.h"

/* starting interface:    nsIAbCard */
#define NS_IABCARD_IID_STR "fa5c977f-04c8-11d3-a2eb-001083003d0c"

#define NS_IABCARD_IID \
  {0xfa5c977f, 0x04c8, 0x11d3, \
    { 0xa2, 0xeb, 0x00, 0x10, 0x83, 0x00, 0x3d, 0x0c }}

class NS_NO_VTABLE nsIAbCard : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IABCARD_IID)

  /* attribute wstring firstName; */
  NS_IMETHOD GetFirstName(PRUnichar * *aFirstName) = 0;
  NS_IMETHOD SetFirstName(const PRUnichar * aFirstName) = 0;

  /* attribute wstring lastName; */
  NS_IMETHOD GetLastName(PRUnichar * *aLastName) = 0;
  NS_IMETHOD SetLastName(const PRUnichar * aLastName) = 0;

  /* attribute wstring displayName; */
  NS_IMETHOD GetDisplayName(PRUnichar * *aDisplayName) = 0;
  NS_IMETHOD SetDisplayName(const PRUnichar * aDisplayName) = 0;

  /* attribute wstring nickName; */
  NS_IMETHOD GetNickName(PRUnichar * *aNickName) = 0;
  NS_IMETHOD SetNickName(const PRUnichar * aNickName) = 0;

  /* attribute wstring primaryEmail; */
  NS_IMETHOD GetPrimaryEmail(PRUnichar * *aPrimaryEmail) = 0;
  NS_IMETHOD SetPrimaryEmail(const PRUnichar * aPrimaryEmail) = 0;

  /* attribute wstring secondEmail; */
  NS_IMETHOD GetSecondEmail(PRUnichar * *aSecondEmail) = 0;
  NS_IMETHOD SetSecondEmail(const PRUnichar * aSecondEmail) = 0;

  /* attribute wstring workPhone; */
  NS_IMETHOD GetWorkPhone(PRUnichar * *aWorkPhone) = 0;
  NS_IMETHOD SetWorkPhone(const PRUnichar * aWorkPhone) = 0;

  /* attribute wstring homePhone; */
  NS_IMETHOD GetHomePhone(PRUnichar * *aHomePhone) = 0;
  NS_IMETHOD SetHomePhone(const PRUnichar * aHomePhone) = 0;

  /* attribute wstring faxNumber; */
  NS_IMETHOD GetFaxNumber(PRUnichar * *aFaxNumber) = 0;
  NS_IMETHOD SetFaxNumber(const PRUnichar * aFaxNumber) = 0;

  /* attribute wstring pagerNumber; */
  NS_IMETHOD GetPagerNumber(PRUnichar * *aPagerNumber) = 0;
  NS_IMETHOD SetPagerNumber(const PRUnichar * aPagerNumber) = 0;

  /* attribute wstring cellularNumber; */
  NS_IMETHOD GetCellularNumber(PRUnichar * *aCellularNumber) = 0;
  NS_IMETHOD SetCellularNumber(const PRUnichar * aCellularNumber) = 0;

  /* attribute wstring homeAddress; */
  NS_IMETHOD GetHomeAddress(PRUnichar * *aHomeAddress) = 0;
  NS_IMETHOD SetHomeAddress(const PRUnichar * aHomeAddress) = 0;

  /* attribute wstring homeAddress2; */
  NS_IMETHOD GetHomeAddress2(PRUnichar * *aHomeAddress2) = 0;
  NS_IMETHOD SetHomeAddress2(const PRUnichar * aHomeAddress2) = 0;

  /* attribute wstring homeCity; */
  NS_IMETHOD GetHomeCity(PRUnichar * *aHomeCity) = 0;
  NS_IMETHOD SetHomeCity(const PRUnichar * aHomeCity) = 0;

  /* attribute wstring homeState; */
  NS_IMETHOD GetHomeState(PRUnichar * *aHomeState) = 0;
  NS_IMETHOD SetHomeState(const PRUnichar * aHomeState) = 0;

  /* attribute wstring homeZipCode; */
  NS_IMETHOD GetHomeZipCode(PRUnichar * *aHomeZipCode) = 0;
  NS_IMETHOD SetHomeZipCode(const PRUnichar * aHomeZipCode) = 0;

  /* attribute wstring homeCountry; */
  NS_IMETHOD GetHomeCountry(PRUnichar * *aHomeCountry) = 0;
  NS_IMETHOD SetHomeCountry(const PRUnichar * aHomeCountry) = 0;

  /* attribute wstring workAddress; */
  NS_IMETHOD GetWorkAddress(PRUnichar * *aWorkAddress) = 0;
  NS_IMETHOD SetWorkAddress(const PRUnichar * aWorkAddress) = 0;

  /* attribute wstring workAddress2; */
  NS_IMETHOD GetWorkAddress2(PRUnichar * *aWorkAddress2) = 0;
  NS_IMETHOD SetWorkAddress2(const PRUnichar * aWorkAddress2) = 0;

  /* attribute wstring workCity; */
  NS_IMETHOD GetWorkCity(PRUnichar * *aWorkCity) = 0;
  NS_IMETHOD SetWorkCity(const PRUnichar * aWorkCity) = 0;

  /* attribute wstring workState; */
  NS_IMETHOD GetWorkState(PRUnichar * *aWorkState) = 0;
  NS_IMETHOD SetWorkState(const PRUnichar * aWorkState) = 0;

  /* attribute wstring workZipCode; */
  NS_IMETHOD GetWorkZipCode(PRUnichar * *aWorkZipCode) = 0;
  NS_IMETHOD SetWorkZipCode(const PRUnichar * aWorkZipCode) = 0;

  /* attribute wstring workCountry; */
  NS_IMETHOD GetWorkCountry(PRUnichar * *aWorkCountry) = 0;
  NS_IMETHOD SetWorkCountry(const PRUnichar * aWorkCountry) = 0;

  /* attribute wstring jobTitle; */
  NS_IMETHOD GetJobTitle(PRUnichar * *aJobTitle) = 0;
  NS_IMETHOD SetJobTitle(const PRUnichar * aJobTitle) = 0;

  /* attribute wstring department; */
  NS_IMETHOD GetDepartment(PRUnichar * *aDepartment) = 0;
  NS_IMETHOD SetDepartment(const PRUnichar * aDepartment) = 0;

  /* attribute wstring company; */
  NS_IMETHOD GetCompany(PRUnichar * *aCompany) = 0;
  NS_IMETHOD SetCompany(const PRUnichar * aCompany) = 0;

  /* attribute wstring webPage1; */
  NS_IMETHOD GetWebPage1(PRUnichar * *aWebPage1) = 0;
  NS_IMETHOD SetWebPage1(const PRUnichar * aWebPage1) = 0;

  /* attribute wstring webPage2; */
  NS_IMETHOD GetWebPage2(PRUnichar * *aWebPage2) = 0;
  NS_IMETHOD SetWebPage2(const PRUnichar * aWebPage2) = 0;

  /* attribute wstring birthYear; */
  NS_IMETHOD GetBirthYear(PRUnichar * *aBirthYear) = 0;
  NS_IMETHOD SetBirthYear(const PRUnichar * aBirthYear) = 0;

  /* attribute wstring birthMonth; */
  NS_IMETHOD GetBirthMonth(PRUnichar * *aBirthMonth) = 0;
  NS_IMETHOD SetBirthMonth(const PRUnichar * aBirthMonth) = 0;

  /* attribute wstring birthDay; */
  NS_IMETHOD GetBirthDay(PRUnichar * *aBirthDay) = 0;
  NS_IMETHOD SetBirthDay(const PRUnichar * aBirthDay) = 0;

  /* attribute wstring custom1; */
  NS_IMETHOD GetCustom1(PRUnichar * *aCustom1) = 0;
  NS_IMETHOD SetCustom1(const PRUnichar * aCustom1) = 0;

  /* attribute wstring custom2; */
  NS_IMETHOD GetCustom2(PRUnichar * *aCustom2) = 0;
  NS_IMETHOD SetCustom2(const PRUnichar * aCustom2) = 0;

  /* attribute wstring custom3; */
  NS_IMETHOD GetCustom3(PRUnichar * *aCustom3) = 0;
  NS_IMETHOD SetCustom3(const PRUnichar * aCustom3) = 0;

  /* attribute wstring custom4; */
  NS_IMETHOD GetCustom4(PRUnichar * *aCustom4) = 0;
  NS_IMETHOD SetCustom4(const PRUnichar * aCustom4) = 0;

  /* attribute wstring notes; */
  NS_IMETHOD GetNotes(PRUnichar * *aNotes) = 0;
  NS_IMETHOD SetNotes(const PRUnichar * aNotes) = 0;

  /* attribute unsigned long lastModifiedDate; */
  NS_IMETHOD GetLastModifiedDate(PRUint32 *aLastModifiedDate) = 0;
  NS_IMETHOD SetLastModifiedDate(PRUint32 aLastModifiedDate) = 0;

  /* attribute wstring name; */
  NS_IMETHOD GetName(PRUnichar * *aName) = 0;
  NS_IMETHOD SetName(const PRUnichar * aName) = 0;

  /* readonly attribute string printCardUrl; */
  NS_IMETHOD GetPrintCardUrl(char * *aPrintCardUrl) = 0;

  /* readonly attribute unsigned long key; */
  NS_IMETHOD GetKey(PRUint32 *aKey) = 0;

  /* attribute boolean sendPlainText; */
  NS_IMETHOD GetSendPlainText(PRBool *aSendPlainText) = 0;
  NS_IMETHOD SetSendPlainText(PRBool aSendPlainText) = 0;

  /* attribute boolean isMailList; */
  NS_IMETHOD GetIsMailList(PRBool *aIsMailList) = 0;
  NS_IMETHOD SetIsMailList(PRBool aIsMailList) = 0;

  /* attribute unsigned long dbTableID; */
  NS_IMETHOD GetDbTableID(PRUint32 *aDbTableID) = 0;
  NS_IMETHOD SetDbTableID(PRUint32 aDbTableID) = 0;

  /* attribute unsigned long dbRowID; */
  NS_IMETHOD GetDbRowID(PRUint32 *aDbRowID) = 0;
  NS_IMETHOD SetDbRowID(PRUint32 aDbRowID) = 0;

  /* wstring getCardValue (in string attrname); */
  NS_IMETHOD GetCardValue(const char *attrname, PRUnichar **_retval) = 0;

  /* void setCardValue (in string attrname, in wstring value); */
  NS_IMETHOD SetCardValue(const char *attrname, const PRUnichar *value) = 0;

  /* void setAbDatabase (in nsIAddrDatabase database); */
  NS_IMETHOD SetAbDatabase(nsIAddrDatabase *database) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousStrAttrubutesList; */
  NS_IMETHOD GetAnonymousStrAttrubutesList(nsVoidArray * *aAnonymousStrAttrubutesList) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousStrValuesList; */
  NS_IMETHOD GetAnonymousStrValuesList(nsVoidArray * *aAnonymousStrValuesList) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousIntAttrubutesList; */
  NS_IMETHOD GetAnonymousIntAttrubutesList(nsVoidArray * *aAnonymousIntAttrubutesList) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousIntValuesList; */
  NS_IMETHOD GetAnonymousIntValuesList(nsVoidArray * *aAnonymousIntValuesList) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousBoolAttrubutesList; */
  NS_IMETHOD GetAnonymousBoolAttrubutesList(nsVoidArray * *aAnonymousBoolAttrubutesList) = 0;

  /* [noscript] readonly attribute nsVoidArray anonymousBoolValuesList; */
  NS_IMETHOD GetAnonymousBoolValuesList(nsVoidArray * *aAnonymousBoolValuesList) = 0;

  /* void setAnonymousStringAttribute (in string attrname, in string value); */
  NS_IMETHOD SetAnonymousStringAttribute(const char *attrname, const char *value) = 0;

  /* void setAnonymousIntAttribute (in string attrname, in unsigned long value); */
  NS_IMETHOD SetAnonymousIntAttribute(const char *attrname, PRUint32 value) = 0;

  /* void setAnonymousBoolAttribute (in string attrname, in boolean value); */
  NS_IMETHOD SetAnonymousBoolAttribute(const char *attrname, PRBool value) = 0;

  /* void addAnonymousAttributesToDB (); */
  NS_IMETHOD AddAnonymousAttributesToDB(void) = 0;

  /* void editAnonymousAttributesInDB (); */
  NS_IMETHOD EditAnonymousAttributesInDB(void) = 0;

  /* readonly attribute string cardURI; */
  NS_IMETHOD GetCardURI(char * *aCardURI) = 0;

  /* void addCardToDatabase (in string uri); */
  NS_IMETHOD AddCardToDatabase(const char *uri) = 0;

  /* void editCardToDatabase (in string uri); */
  NS_IMETHOD EditCardToDatabase(const char *uri) = 0;

  /* void copyCard (in nsIAbCard srcCard); */
  NS_IMETHOD CopyCard(nsIAbCard *srcCard) = 0;

  /* wstring getCollationKey (in wstring str); */
  NS_IMETHOD GetCollationKey(const PRUnichar *str, PRUnichar **_retval) = 0;

  /* void setRecordKey (in unsigned long key); */
  NS_IMETHOD SetRecordKey(PRUint32 key) = 0;

  /* void dropCardToDatabase (in string uri); */
  NS_IMETHOD DropCardToDatabase(const char *uri) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIABCARD \
  NS_IMETHOD GetFirstName(PRUnichar * *aFirstName); \
  NS_IMETHOD SetFirstName(const PRUnichar * aFirstName); \
  NS_IMETHOD GetLastName(PRUnichar * *aLastName); \
  NS_IMETHOD SetLastName(const PRUnichar * aLastName); \
  NS_IMETHOD GetDisplayName(PRUnichar * *aDisplayName); \
  NS_IMETHOD SetDisplayName(const PRUnichar * aDisplayName); \
  NS_IMETHOD GetNickName(PRUnichar * *aNickName); \
  NS_IMETHOD SetNickName(const PRUnichar * aNickName); \
  NS_IMETHOD GetPrimaryEmail(PRUnichar * *aPrimaryEmail); \
  NS_IMETHOD SetPrimaryEmail(const PRUnichar * aPrimaryEmail); \
  NS_IMETHOD GetSecondEmail(PRUnichar * *aSecondEmail); \
  NS_IMETHOD SetSecondEmail(const PRUnichar * aSecondEmail); \
  NS_IMETHOD GetWorkPhone(PRUnichar * *aWorkPhone); \
  NS_IMETHOD SetWorkPhone(const PRUnichar * aWorkPhone); \
  NS_IMETHOD GetHomePhone(PRUnichar * *aHomePhone); \
  NS_IMETHOD SetHomePhone(const PRUnichar * aHomePhone); \
  NS_IMETHOD GetFaxNumber(PRUnichar * *aFaxNumber); \
  NS_IMETHOD SetFaxNumber(const PRUnichar * aFaxNumber); \
  NS_IMETHOD GetPagerNumber(PRUnichar * *aPagerNumber); \
  NS_IMETHOD SetPagerNumber(const PRUnichar * aPagerNumber); \
  NS_IMETHOD GetCellularNumber(PRUnichar * *aCellularNumber); \
  NS_IMETHOD SetCellularNumber(const PRUnichar * aCellularNumber); \
  NS_IMETHOD GetHomeAddress(PRUnichar * *aHomeAddress); \
  NS_IMETHOD SetHomeAddress(const PRUnichar * aHomeAddress); \
  NS_IMETHOD GetHomeAddress2(PRUnichar * *aHomeAddress2); \
  NS_IMETHOD SetHomeAddress2(const PRUnichar * aHomeAddress2); \
  NS_IMETHOD GetHomeCity(PRUnichar * *aHomeCity); \
  NS_IMETHOD SetHomeCity(const PRUnichar * aHomeCity); \
  NS_IMETHOD GetHomeState(PRUnichar * *aHomeState); \
  NS_IMETHOD SetHomeState(const PRUnichar * aHomeState); \
  NS_IMETHOD GetHomeZipCode(PRUnichar * *aHomeZipCode); \
  NS_IMETHOD SetHomeZipCode(const PRUnichar * aHomeZipCode); \
  NS_IMETHOD GetHomeCountry(PRUnichar * *aHomeCountry); \
  NS_IMETHOD SetHomeCountry(const PRUnichar * aHomeCountry); \
  NS_IMETHOD GetWorkAddress(PRUnichar * *aWorkAddress); \
  NS_IMETHOD SetWorkAddress(const PRUnichar * aWorkAddress); \
  NS_IMETHOD GetWorkAddress2(PRUnichar * *aWorkAddress2); \
  NS_IMETHOD SetWorkAddress2(const PRUnichar * aWorkAddress2); \
  NS_IMETHOD GetWorkCity(PRUnichar * *aWorkCity); \
  NS_IMETHOD SetWorkCity(const PRUnichar * aWorkCity); \
  NS_IMETHOD GetWorkState(PRUnichar * *aWorkState); \
  NS_IMETHOD SetWorkState(const PRUnichar * aWorkState); \
  NS_IMETHOD GetWorkZipCode(PRUnichar * *aWorkZipCode); \
  NS_IMETHOD SetWorkZipCode(const PRUnichar * aWorkZipCode); \
  NS_IMETHOD GetWorkCountry(PRUnichar * *aWorkCountry); \
  NS_IMETHOD SetWorkCountry(const PRUnichar * aWorkCountry); \
  NS_IMETHOD GetJobTitle(PRUnichar * *aJobTitle); \
  NS_IMETHOD SetJobTitle(const PRUnichar * aJobTitle); \
  NS_IMETHOD GetDepartment(PRUnichar * *aDepartment); \
  NS_IMETHOD SetDepartment(const PRUnichar * aDepartment); \
  NS_IMETHOD GetCompany(PRUnichar * *aCompany); \
  NS_IMETHOD SetCompany(const PRUnichar * aCompany); \
  NS_IMETHOD GetWebPage1(PRUnichar * *aWebPage1); \
  NS_IMETHOD SetWebPage1(const PRUnichar * aWebPage1); \
  NS_IMETHOD GetWebPage2(PRUnichar * *aWebPage2); \
  NS_IMETHOD SetWebPage2(const PRUnichar * aWebPage2); \
  NS_IMETHOD GetBirthYear(PRUnichar * *aBirthYear); \
  NS_IMETHOD SetBirthYear(const PRUnichar * aBirthYear); \
  NS_IMETHOD GetBirthMonth(PRUnichar * *aBirthMonth); \
  NS_IMETHOD SetBirthMonth(const PRUnichar * aBirthMonth); \
  NS_IMETHOD GetBirthDay(PRUnichar * *aBirthDay); \
  NS_IMETHOD SetBirthDay(const PRUnichar * aBirthDay); \
  NS_IMETHOD GetCustom1(PRUnichar * *aCustom1); \
  NS_IMETHOD SetCustom1(const PRUnichar * aCustom1); \
  NS_IMETHOD GetCustom2(PRUnichar * *aCustom2); \
  NS_IMETHOD SetCustom2(const PRUnichar * aCustom2); \
  NS_IMETHOD GetCustom3(PRUnichar * *aCustom3); \
  NS_IMETHOD SetCustom3(const PRUnichar * aCustom3); \
  NS_IMETHOD GetCustom4(PRUnichar * *aCustom4); \
  NS_IMETHOD SetCustom4(const PRUnichar * aCustom4); \
  NS_IMETHOD GetNotes(PRUnichar * *aNotes); \
  NS_IMETHOD SetNotes(const PRUnichar * aNotes); \
  NS_IMETHOD GetLastModifiedDate(PRUint32 *aLastModifiedDate); \
  NS_IMETHOD SetLastModifiedDate(PRUint32 aLastModifiedDate); \
  NS_IMETHOD GetName(PRUnichar * *aName); \
  NS_IMETHOD SetName(const PRUnichar * aName); \
  NS_IMETHOD GetPrintCardUrl(char * *aPrintCardUrl); \
  NS_IMETHOD GetKey(PRUint32 *aKey); \
  NS_IMETHOD GetSendPlainText(PRBool *aSendPlainText); \
  NS_IMETHOD SetSendPlainText(PRBool aSendPlainText); \
  NS_IMETHOD GetIsMailList(PRBool *aIsMailList); \
  NS_IMETHOD SetIsMailList(PRBool aIsMailList); \
  NS_IMETHOD GetDbTableID(PRUint32 *aDbTableID); \
  NS_IMETHOD SetDbTableID(PRUint32 aDbTableID); \
  NS_IMETHOD GetDbRowID(PRUint32 *aDbRowID); \
  NS_IMETHOD SetDbRowID(PRUint32 aDbRowID); \
  NS_IMETHOD GetCardValue(const char *attrname, PRUnichar **_retval); \
  NS_IMETHOD SetCardValue(const char *attrname, const PRUnichar *value); \
  NS_IMETHOD SetAbDatabase(nsIAddrDatabase *database); \
  NS_IMETHOD GetAnonymousStrAttrubutesList(nsVoidArray * *aAnonymousStrAttrubutesList); \
  NS_IMETHOD GetAnonymousStrValuesList(nsVoidArray * *aAnonymousStrValuesList); \
  NS_IMETHOD GetAnonymousIntAttrubutesList(nsVoidArray * *aAnonymousIntAttrubutesList); \
  NS_IMETHOD GetAnonymousIntValuesList(nsVoidArray * *aAnonymousIntValuesList); \
  NS_IMETHOD GetAnonymousBoolAttrubutesList(nsVoidArray * *aAnonymousBoolAttrubutesList); \
  NS_IMETHOD GetAnonymousBoolValuesList(nsVoidArray * *aAnonymousBoolValuesList); \
  NS_IMETHOD SetAnonymousStringAttribute(const char *attrname, const char *value); \
  NS_IMETHOD SetAnonymousIntAttribute(const char *attrname, PRUint32 value); \
  NS_IMETHOD SetAnonymousBoolAttribute(const char *attrname, PRBool value); \
  NS_IMETHOD AddAnonymousAttributesToDB(void); \
  NS_IMETHOD EditAnonymousAttributesInDB(void); \
  NS_IMETHOD GetCardURI(char * *aCardURI); \
  NS_IMETHOD AddCardToDatabase(const char *uri); \
  NS_IMETHOD EditCardToDatabase(const char *uri); \
  NS_IMETHOD CopyCard(nsIAbCard *srcCard); \
  NS_IMETHOD GetCollationKey(const PRUnichar *str, PRUnichar **_retval); \
  NS_IMETHOD SetRecordKey(PRUint32 key); \
  NS_IMETHOD DropCardToDatabase(const char *uri); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIABCARD(_to) \
  NS_IMETHOD GetFirstName(PRUnichar * *aFirstName) { return _to ## GetFirstName(aFirstName); } \
  NS_IMETHOD SetFirstName(const PRUnichar * aFirstName) { return _to ## SetFirstName(aFirstName); } \
  NS_IMETHOD GetLastName(PRUnichar * *aLastName) { return _to ## GetLastName(aLastName); } \
  NS_IMETHOD SetLastName(const PRUnichar * aLastName) { return _to ## SetLastName(aLastName); } \
  NS_IMETHOD GetDisplayName(PRUnichar * *aDisplayName) { return _to ## GetDisplayName(aDisplayName); } \
  NS_IMETHOD SetDisplayName(const PRUnichar * aDisplayName) { return _to ## SetDisplayName(aDisplayName); } \
  NS_IMETHOD GetNickName(PRUnichar * *aNickName) { return _to ## GetNickName(aNickName); } \
  NS_IMETHOD SetNickName(const PRUnichar * aNickName) { return _to ## SetNickName(aNickName); } \
  NS_IMETHOD GetPrimaryEmail(PRUnichar * *aPrimaryEmail) { return _to ## GetPrimaryEmail(aPrimaryEmail); } \
  NS_IMETHOD SetPrimaryEmail(const PRUnichar * aPrimaryEmail) { return _to ## SetPrimaryEmail(aPrimaryEmail); } \
  NS_IMETHOD GetSecondEmail(PRUnichar * *aSecondEmail) { return _to ## GetSecondEmail(aSecondEmail); } \
  NS_IMETHOD SetSecondEmail(const PRUnichar * aSecondEmail) { return _to ## SetSecondEmail(aSecondEmail); } \
  NS_IMETHOD GetWorkPhone(PRUnichar * *aWorkPhone) { return _to ## GetWorkPhone(aWorkPhone); } \
  NS_IMETHOD SetWorkPhone(const PRUnichar * aWorkPhone) { return _to ## SetWorkPhone(aWorkPhone); } \
  NS_IMETHOD GetHomePhone(PRUnichar * *aHomePhone) { return _to ## GetHomePhone(aHomePhone); } \
  NS_IMETHOD SetHomePhone(const PRUnichar * aHomePhone) { return _to ## SetHomePhone(aHomePhone); } \
  NS_IMETHOD GetFaxNumber(PRUnichar * *aFaxNumber) { return _to ## GetFaxNumber(aFaxNumber); } \
  NS_IMETHOD SetFaxNumber(const PRUnichar * aFaxNumber) { return _to ## SetFaxNumber(aFaxNumber); } \
  NS_IMETHOD GetPagerNumber(PRUnichar * *aPagerNumber) { return _to ## GetPagerNumber(aPagerNumber); } \
  NS_IMETHOD SetPagerNumber(const PRUnichar * aPagerNumber) { return _to ## SetPagerNumber(aPagerNumber); } \
  NS_IMETHOD GetCellularNumber(PRUnichar * *aCellularNumber) { return _to ## GetCellularNumber(aCellularNumber); } \
  NS_IMETHOD SetCellularNumber(const PRUnichar * aCellularNumber) { return _to ## SetCellularNumber(aCellularNumber); } \
  NS_IMETHOD GetHomeAddress(PRUnichar * *aHomeAddress) { return _to ## GetHomeAddress(aHomeAddress); } \
  NS_IMETHOD SetHomeAddress(const PRUnichar * aHomeAddress) { return _to ## SetHomeAddress(aHomeAddress); } \
  NS_IMETHOD GetHomeAddress2(PRUnichar * *aHomeAddress2) { return _to ## GetHomeAddress2(aHomeAddress2); } \
  NS_IMETHOD SetHomeAddress2(const PRUnichar * aHomeAddress2) { return _to ## SetHomeAddress2(aHomeAddress2); } \
  NS_IMETHOD GetHomeCity(PRUnichar * *aHomeCity) { return _to ## GetHomeCity(aHomeCity); } \
  NS_IMETHOD SetHomeCity(const PRUnichar * aHomeCity) { return _to ## SetHomeCity(aHomeCity); } \
  NS_IMETHOD GetHomeState(PRUnichar * *aHomeState) { return _to ## GetHomeState(aHomeState); } \
  NS_IMETHOD SetHomeState(const PRUnichar * aHomeState) { return _to ## SetHomeState(aHomeState); } \
  NS_IMETHOD GetHomeZipCode(PRUnichar * *aHomeZipCode) { return _to ## GetHomeZipCode(aHomeZipCode); } \
  NS_IMETHOD SetHomeZipCode(const PRUnichar * aHomeZipCode) { return _to ## SetHomeZipCode(aHomeZipCode); } \
  NS_IMETHOD GetHomeCountry(PRUnichar * *aHomeCountry) { return _to ## GetHomeCountry(aHomeCountry); } \
  NS_IMETHOD SetHomeCountry(const PRUnichar * aHomeCountry) { return _to ## SetHomeCountry(aHomeCountry); } \
  NS_IMETHOD GetWorkAddress(PRUnichar * *aWorkAddress) { return _to ## GetWorkAddress(aWorkAddress); } \
  NS_IMETHOD SetWorkAddress(const PRUnichar * aWorkAddress) { return _to ## SetWorkAddress(aWorkAddress); } \
  NS_IMETHOD GetWorkAddress2(PRUnichar * *aWorkAddress2) { return _to ## GetWorkAddress2(aWorkAddress2); } \
  NS_IMETHOD SetWorkAddress2(const PRUnichar * aWorkAddress2) { return _to ## SetWorkAddress2(aWorkAddress2); } \
  NS_IMETHOD GetWorkCity(PRUnichar * *aWorkCity) { return _to ## GetWorkCity(aWorkCity); } \
  NS_IMETHOD SetWorkCity(const PRUnichar * aWorkCity) { return _to ## SetWorkCity(aWorkCity); } \
  NS_IMETHOD GetWorkState(PRUnichar * *aWorkState) { return _to ## GetWorkState(aWorkState); } \
  NS_IMETHOD SetWorkState(const PRUnichar * aWorkState) { return _to ## SetWorkState(aWorkState); } \
  NS_IMETHOD GetWorkZipCode(PRUnichar * *aWorkZipCode) { return _to ## GetWorkZipCode(aWorkZipCode); } \
  NS_IMETHOD SetWorkZipCode(const PRUnichar * aWorkZipCode) { return _to ## SetWorkZipCode(aWorkZipCode); } \
  NS_IMETHOD GetWorkCountry(PRUnichar * *aWorkCountry) { return _to ## GetWorkCountry(aWorkCountry); } \
  NS_IMETHOD SetWorkCountry(const PRUnichar * aWorkCountry) { return _to ## SetWorkCountry(aWorkCountry); } \
  NS_IMETHOD GetJobTitle(PRUnichar * *aJobTitle) { return _to ## GetJobTitle(aJobTitle); } \
  NS_IMETHOD SetJobTitle(const PRUnichar * aJobTitle) { return _to ## SetJobTitle(aJobTitle); } \
  NS_IMETHOD GetDepartment(PRUnichar * *aDepartment) { return _to ## GetDepartment(aDepartment); } \
  NS_IMETHOD SetDepartment(const PRUnichar * aDepartment) { return _to ## SetDepartment(aDepartment); } \
  NS_IMETHOD GetCompany(PRUnichar * *aCompany) { return _to ## GetCompany(aCompany); } \
  NS_IMETHOD SetCompany(const PRUnichar * aCompany) { return _to ## SetCompany(aCompany); } \
  NS_IMETHOD GetWebPage1(PRUnichar * *aWebPage1) { return _to ## GetWebPage1(aWebPage1); } \
  NS_IMETHOD SetWebPage1(const PRUnichar * aWebPage1) { return _to ## SetWebPage1(aWebPage1); } \
  NS_IMETHOD GetWebPage2(PRUnichar * *aWebPage2) { return _to ## GetWebPage2(aWebPage2); } \
  NS_IMETHOD SetWebPage2(const PRUnichar * aWebPage2) { return _to ## SetWebPage2(aWebPage2); } \
  NS_IMETHOD GetBirthYear(PRUnichar * *aBirthYear) { return _to ## GetBirthYear(aBirthYear); } \
  NS_IMETHOD SetBirthYear(const PRUnichar * aBirthYear) { return _to ## SetBirthYear(aBirthYear); } \
  NS_IMETHOD GetBirthMonth(PRUnichar * *aBirthMonth) { return _to ## GetBirthMonth(aBirthMonth); } \
  NS_IMETHOD SetBirthMonth(const PRUnichar * aBirthMonth) { return _to ## SetBirthMonth(aBirthMonth); } \
  NS_IMETHOD GetBirthDay(PRUnichar * *aBirthDay) { return _to ## GetBirthDay(aBirthDay); } \
  NS_IMETHOD SetBirthDay(const PRUnichar * aBirthDay) { return _to ## SetBirthDay(aBirthDay); } \
  NS_IMETHOD GetCustom1(PRUnichar * *aCustom1) { return _to ## GetCustom1(aCustom1); } \
  NS_IMETHOD SetCustom1(const PRUnichar * aCustom1) { return _to ## SetCustom1(aCustom1); } \
  NS_IMETHOD GetCustom2(PRUnichar * *aCustom2) { return _to ## GetCustom2(aCustom2); } \
  NS_IMETHOD SetCustom2(const PRUnichar * aCustom2) { return _to ## SetCustom2(aCustom2); } \
  NS_IMETHOD GetCustom3(PRUnichar * *aCustom3) { return _to ## GetCustom3(aCustom3); } \
  NS_IMETHOD SetCustom3(const PRUnichar * aCustom3) { return _to ## SetCustom3(aCustom3); } \
  NS_IMETHOD GetCustom4(PRUnichar * *aCustom4) { return _to ## GetCustom4(aCustom4); } \
  NS_IMETHOD SetCustom4(const PRUnichar * aCustom4) { return _to ## SetCustom4(aCustom4); } \
  NS_IMETHOD GetNotes(PRUnichar * *aNotes) { return _to ## GetNotes(aNotes); } \
  NS_IMETHOD SetNotes(const PRUnichar * aNotes) { return _to ## SetNotes(aNotes); } \
  NS_IMETHOD GetLastModifiedDate(PRUint32 *aLastModifiedDate) { return _to ## GetLastModifiedDate(aLastModifiedDate); } \
  NS_IMETHOD SetLastModifiedDate(PRUint32 aLastModifiedDate) { return _to ## SetLastModifiedDate(aLastModifiedDate); } \
  NS_IMETHOD GetName(PRUnichar * *aName) { return _to ## GetName(aName); } \
  NS_IMETHOD SetName(const PRUnichar * aName) { return _to ## SetName(aName); } \
  NS_IMETHOD GetPrintCardUrl(char * *aPrintCardUrl) { return _to ## GetPrintCardUrl(aPrintCardUrl); } \
  NS_IMETHOD GetKey(PRUint32 *aKey) { return _to ## GetKey(aKey); } \
  NS_IMETHOD GetSendPlainText(PRBool *aSendPlainText) { return _to ## GetSendPlainText(aSendPlainText); } \
  NS_IMETHOD SetSendPlainText(PRBool aSendPlainText) { return _to ## SetSendPlainText(aSendPlainText); } \
  NS_IMETHOD GetIsMailList(PRBool *aIsMailList) { return _to ## GetIsMailList(aIsMailList); } \
  NS_IMETHOD SetIsMailList(PRBool aIsMailList) { return _to ## SetIsMailList(aIsMailList); } \
  NS_IMETHOD GetDbTableID(PRUint32 *aDbTableID) { return _to ## GetDbTableID(aDbTableID); } \
  NS_IMETHOD SetDbTableID(PRUint32 aDbTableID) { return _to ## SetDbTableID(aDbTableID); } \
  NS_IMETHOD GetDbRowID(PRUint32 *aDbRowID) { return _to ## GetDbRowID(aDbRowID); } \
  NS_IMETHOD SetDbRowID(PRUint32 aDbRowID) { return _to ## SetDbRowID(aDbRowID); } \
  NS_IMETHOD GetCardValue(const char *attrname, PRUnichar **_retval) { return _to ## GetCardValue(attrname, _retval); } \
  NS_IMETHOD SetCardValue(const char *attrname, const PRUnichar *value) { return _to ## SetCardValue(attrname, value); } \
  NS_IMETHOD SetAbDatabase(nsIAddrDatabase *database) { return _to ## SetAbDatabase(database); } \
  NS_IMETHOD GetAnonymousStrAttrubutesList(nsVoidArray * *aAnonymousStrAttrubutesList) { return _to ## GetAnonymousStrAttrubutesList(aAnonymousStrAttrubutesList); } \
  NS_IMETHOD GetAnonymousStrValuesList(nsVoidArray * *aAnonymousStrValuesList) { return _to ## GetAnonymousStrValuesList(aAnonymousStrValuesList); } \
  NS_IMETHOD GetAnonymousIntAttrubutesList(nsVoidArray * *aAnonymousIntAttrubutesList) { return _to ## GetAnonymousIntAttrubutesList(aAnonymousIntAttrubutesList); } \
  NS_IMETHOD GetAnonymousIntValuesList(nsVoidArray * *aAnonymousIntValuesList) { return _to ## GetAnonymousIntValuesList(aAnonymousIntValuesList); } \
  NS_IMETHOD GetAnonymousBoolAttrubutesList(nsVoidArray * *aAnonymousBoolAttrubutesList) { return _to ## GetAnonymousBoolAttrubutesList(aAnonymousBoolAttrubutesList); } \
  NS_IMETHOD GetAnonymousBoolValuesList(nsVoidArray * *aAnonymousBoolValuesList) { return _to ## GetAnonymousBoolValuesList(aAnonymousBoolValuesList); } \
  NS_IMETHOD SetAnonymousStringAttribute(const char *attrname, const char *value) { return _to ## SetAnonymousStringAttribute(attrname, value); } \
  NS_IMETHOD SetAnonymousIntAttribute(const char *attrname, PRUint32 value) { return _to ## SetAnonymousIntAttribute(attrname, value); } \
  NS_IMETHOD SetAnonymousBoolAttribute(const char *attrname, PRBool value) { return _to ## SetAnonymousBoolAttribute(attrname, value); } \
  NS_IMETHOD AddAnonymousAttributesToDB(void) { return _to ## AddAnonymousAttributesToDB(); } \
  NS_IMETHOD EditAnonymousAttributesInDB(void) { return _to ## EditAnonymousAttributesInDB(); } \
  NS_IMETHOD GetCardURI(char * *aCardURI) { return _to ## GetCardURI(aCardURI); } \
  NS_IMETHOD AddCardToDatabase(const char *uri) { return _to ## AddCardToDatabase(uri); } \
  NS_IMETHOD EditCardToDatabase(const char *uri) { return _to ## EditCardToDatabase(uri); } \
  NS_IMETHOD CopyCard(nsIAbCard *srcCard) { return _to ## CopyCard(srcCard); } \
  NS_IMETHOD GetCollationKey(const PRUnichar *str, PRUnichar **_retval) { return _to ## GetCollationKey(str, _retval); } \
  NS_IMETHOD SetRecordKey(PRUint32 key) { return _to ## SetRecordKey(key); } \
  NS_IMETHOD DropCardToDatabase(const char *uri) { return _to ## DropCardToDatabase(uri); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsAbCard : public nsIAbCard
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIABCARD

  nsAbCard();
  virtual ~nsAbCard();
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsAbCard, nsIAbCard)

nsAbCard::nsAbCard()
{
  NS_INIT_ISUPPORTS();
  /* member initializers and constructor code */
}

nsAbCard::~nsAbCard()
{
  /* destructor code */
}

/* attribute wstring firstName; */
NS_IMETHODIMP nsAbCard::GetFirstName(PRUnichar * *aFirstName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetFirstName(const PRUnichar * aFirstName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring lastName; */
NS_IMETHODIMP nsAbCard::GetLastName(PRUnichar * *aLastName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetLastName(const PRUnichar * aLastName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring displayName; */
NS_IMETHODIMP nsAbCard::GetDisplayName(PRUnichar * *aDisplayName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetDisplayName(const PRUnichar * aDisplayName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring nickName; */
NS_IMETHODIMP nsAbCard::GetNickName(PRUnichar * *aNickName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetNickName(const PRUnichar * aNickName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring primaryEmail; */
NS_IMETHODIMP nsAbCard::GetPrimaryEmail(PRUnichar * *aPrimaryEmail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetPrimaryEmail(const PRUnichar * aPrimaryEmail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring secondEmail; */
NS_IMETHODIMP nsAbCard::GetSecondEmail(PRUnichar * *aSecondEmail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetSecondEmail(const PRUnichar * aSecondEmail)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workPhone; */
NS_IMETHODIMP nsAbCard::GetWorkPhone(PRUnichar * *aWorkPhone)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkPhone(const PRUnichar * aWorkPhone)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homePhone; */
NS_IMETHODIMP nsAbCard::GetHomePhone(PRUnichar * *aHomePhone)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomePhone(const PRUnichar * aHomePhone)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring faxNumber; */
NS_IMETHODIMP nsAbCard::GetFaxNumber(PRUnichar * *aFaxNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetFaxNumber(const PRUnichar * aFaxNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring pagerNumber; */
NS_IMETHODIMP nsAbCard::GetPagerNumber(PRUnichar * *aPagerNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetPagerNumber(const PRUnichar * aPagerNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring cellularNumber; */
NS_IMETHODIMP nsAbCard::GetCellularNumber(PRUnichar * *aCellularNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCellularNumber(const PRUnichar * aCellularNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeAddress; */
NS_IMETHODIMP nsAbCard::GetHomeAddress(PRUnichar * *aHomeAddress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeAddress(const PRUnichar * aHomeAddress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeAddress2; */
NS_IMETHODIMP nsAbCard::GetHomeAddress2(PRUnichar * *aHomeAddress2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeAddress2(const PRUnichar * aHomeAddress2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeCity; */
NS_IMETHODIMP nsAbCard::GetHomeCity(PRUnichar * *aHomeCity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeCity(const PRUnichar * aHomeCity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeState; */
NS_IMETHODIMP nsAbCard::GetHomeState(PRUnichar * *aHomeState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeState(const PRUnichar * aHomeState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeZipCode; */
NS_IMETHODIMP nsAbCard::GetHomeZipCode(PRUnichar * *aHomeZipCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeZipCode(const PRUnichar * aHomeZipCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring homeCountry; */
NS_IMETHODIMP nsAbCard::GetHomeCountry(PRUnichar * *aHomeCountry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetHomeCountry(const PRUnichar * aHomeCountry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workAddress; */
NS_IMETHODIMP nsAbCard::GetWorkAddress(PRUnichar * *aWorkAddress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkAddress(const PRUnichar * aWorkAddress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workAddress2; */
NS_IMETHODIMP nsAbCard::GetWorkAddress2(PRUnichar * *aWorkAddress2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkAddress2(const PRUnichar * aWorkAddress2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workCity; */
NS_IMETHODIMP nsAbCard::GetWorkCity(PRUnichar * *aWorkCity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkCity(const PRUnichar * aWorkCity)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workState; */
NS_IMETHODIMP nsAbCard::GetWorkState(PRUnichar * *aWorkState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkState(const PRUnichar * aWorkState)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workZipCode; */
NS_IMETHODIMP nsAbCard::GetWorkZipCode(PRUnichar * *aWorkZipCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkZipCode(const PRUnichar * aWorkZipCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring workCountry; */
NS_IMETHODIMP nsAbCard::GetWorkCountry(PRUnichar * *aWorkCountry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWorkCountry(const PRUnichar * aWorkCountry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring jobTitle; */
NS_IMETHODIMP nsAbCard::GetJobTitle(PRUnichar * *aJobTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetJobTitle(const PRUnichar * aJobTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring department; */
NS_IMETHODIMP nsAbCard::GetDepartment(PRUnichar * *aDepartment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetDepartment(const PRUnichar * aDepartment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring company; */
NS_IMETHODIMP nsAbCard::GetCompany(PRUnichar * *aCompany)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCompany(const PRUnichar * aCompany)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring webPage1; */
NS_IMETHODIMP nsAbCard::GetWebPage1(PRUnichar * *aWebPage1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWebPage1(const PRUnichar * aWebPage1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring webPage2; */
NS_IMETHODIMP nsAbCard::GetWebPage2(PRUnichar * *aWebPage2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetWebPage2(const PRUnichar * aWebPage2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring birthYear; */
NS_IMETHODIMP nsAbCard::GetBirthYear(PRUnichar * *aBirthYear)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetBirthYear(const PRUnichar * aBirthYear)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring birthMonth; */
NS_IMETHODIMP nsAbCard::GetBirthMonth(PRUnichar * *aBirthMonth)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetBirthMonth(const PRUnichar * aBirthMonth)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring birthDay; */
NS_IMETHODIMP nsAbCard::GetBirthDay(PRUnichar * *aBirthDay)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetBirthDay(const PRUnichar * aBirthDay)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring custom1; */
NS_IMETHODIMP nsAbCard::GetCustom1(PRUnichar * *aCustom1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCustom1(const PRUnichar * aCustom1)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring custom2; */
NS_IMETHODIMP nsAbCard::GetCustom2(PRUnichar * *aCustom2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCustom2(const PRUnichar * aCustom2)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring custom3; */
NS_IMETHODIMP nsAbCard::GetCustom3(PRUnichar * *aCustom3)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCustom3(const PRUnichar * aCustom3)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring custom4; */
NS_IMETHODIMP nsAbCard::GetCustom4(PRUnichar * *aCustom4)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetCustom4(const PRUnichar * aCustom4)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring notes; */
NS_IMETHODIMP nsAbCard::GetNotes(PRUnichar * *aNotes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetNotes(const PRUnichar * aNotes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long lastModifiedDate; */
NS_IMETHODIMP nsAbCard::GetLastModifiedDate(PRUint32 *aLastModifiedDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetLastModifiedDate(PRUint32 aLastModifiedDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute wstring name; */
NS_IMETHODIMP nsAbCard::GetName(PRUnichar * *aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetName(const PRUnichar * aName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string printCardUrl; */
NS_IMETHODIMP nsAbCard::GetPrintCardUrl(char * *aPrintCardUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long key; */
NS_IMETHODIMP nsAbCard::GetKey(PRUint32 *aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean sendPlainText; */
NS_IMETHODIMP nsAbCard::GetSendPlainText(PRBool *aSendPlainText)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetSendPlainText(PRBool aSendPlainText)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isMailList; */
NS_IMETHODIMP nsAbCard::GetIsMailList(PRBool *aIsMailList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetIsMailList(PRBool aIsMailList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long dbTableID; */
NS_IMETHODIMP nsAbCard::GetDbTableID(PRUint32 *aDbTableID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetDbTableID(PRUint32 aDbTableID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long dbRowID; */
NS_IMETHODIMP nsAbCard::GetDbRowID(PRUint32 *aDbRowID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbCard::SetDbRowID(PRUint32 aDbRowID)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* wstring getCardValue (in string attrname); */
NS_IMETHODIMP nsAbCard::GetCardValue(const char *attrname, PRUnichar **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setCardValue (in string attrname, in wstring value); */
NS_IMETHODIMP nsAbCard::SetCardValue(const char *attrname, const PRUnichar *value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setAbDatabase (in nsIAddrDatabase database); */
NS_IMETHODIMP nsAbCard::SetAbDatabase(nsIAddrDatabase *database)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousStrAttrubutesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousStrAttrubutesList(nsVoidArray * *aAnonymousStrAttrubutesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousStrValuesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousStrValuesList(nsVoidArray * *aAnonymousStrValuesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousIntAttrubutesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousIntAttrubutesList(nsVoidArray * *aAnonymousIntAttrubutesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousIntValuesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousIntValuesList(nsVoidArray * *aAnonymousIntValuesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousBoolAttrubutesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousBoolAttrubutesList(nsVoidArray * *aAnonymousBoolAttrubutesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* [noscript] readonly attribute nsVoidArray anonymousBoolValuesList; */
NS_IMETHODIMP nsAbCard::GetAnonymousBoolValuesList(nsVoidArray * *aAnonymousBoolValuesList)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setAnonymousStringAttribute (in string attrname, in string value); */
NS_IMETHODIMP nsAbCard::SetAnonymousStringAttribute(const char *attrname, const char *value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setAnonymousIntAttribute (in string attrname, in unsigned long value); */
NS_IMETHODIMP nsAbCard::SetAnonymousIntAttribute(const char *attrname, PRUint32 value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setAnonymousBoolAttribute (in string attrname, in boolean value); */
NS_IMETHODIMP nsAbCard::SetAnonymousBoolAttribute(const char *attrname, PRBool value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addAnonymousAttributesToDB (); */
NS_IMETHODIMP nsAbCard::AddAnonymousAttributesToDB()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void editAnonymousAttributesInDB (); */
NS_IMETHODIMP nsAbCard::EditAnonymousAttributesInDB()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute string cardURI; */
NS_IMETHODIMP nsAbCard::GetCardURI(char * *aCardURI)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addCardToDatabase (in string uri); */
NS_IMETHODIMP nsAbCard::AddCardToDatabase(const char *uri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void editCardToDatabase (in string uri); */
NS_IMETHODIMP nsAbCard::EditCardToDatabase(const char *uri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void copyCard (in nsIAbCard srcCard); */
NS_IMETHODIMP nsAbCard::CopyCard(nsIAbCard *srcCard)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* wstring getCollationKey (in wstring str); */
NS_IMETHODIMP nsAbCard::GetCollationKey(const PRUnichar *str, PRUnichar **_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setRecordKey (in unsigned long key); */
NS_IMETHODIMP nsAbCard::SetRecordKey(PRUint32 key)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void dropCardToDatabase (in string uri); */
NS_IMETHODIMP nsAbCard::DropCardToDatabase(const char *uri)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIAbCard_h__ */
