Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
nsAbMDBDirectory Class Reference

#include <nsAbMDBDirectory.h>

Inheritance diagram for nsAbMDBDirectory:
Inheritance graph
[legend]
Collaboration diagram for nsAbMDBDirectory:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 nsAbMDBDirectory (void)
virtual ~nsAbMDBDirectory (void)
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIADDRDBLISTENER
NS_IMETHOD 
Init (const char *aURI)
NS_IMETHOD ClearDatabase ()
NS_IMETHOD NotifyDirItemAdded (nsISupports *item)
NS_IMETHOD RemoveElementsFromAddressList ()
NS_IMETHOD RemoveEmailAddressAt (PRUint32 aIndex)
NS_IMETHOD AddDirectory (const char *uriName, nsIAbDirectory **childDir)
NS_IMETHOD GetDirUri (char **uri)
NS_IMETHOD HasCardForEmailAddress (const char *aEmailAddress, PRBool *aCardExists)
NS_IMETHOD CardForEmailAddress (const char *aEmailAddress, nsIAbCard **aAbCard)
NS_IMETHOD GetChildNodes (nsISimpleEnumerator **result)
NS_IMETHOD GetChildCards (nsIEnumerator **result)
NS_IMETHOD ModifyDirectory (nsIAbDirectory *directory, nsIAbDirectoryProperties *aProperties)
NS_IMETHOD DeleteDirectory (nsIAbDirectory *directory)
NS_IMETHOD DeleteCards (nsISupportsArray *cards)
NS_IMETHOD HasCard (nsIAbCard *cards, PRBool *hasCard)
NS_IMETHOD HasDirectory (nsIAbDirectory *dir, PRBool *hasDir)
NS_IMETHOD CreateNewDirectory (nsIAbDirectoryProperties *aProperties)
NS_IMETHOD CreateDirectoryByURI (const PRUnichar *dirName, const char *uri, PRBool migrating)
NS_IMETHOD AddMailList (nsIAbDirectory *list)
NS_IMETHOD AddMailListWithKey (nsIAbDirectory *list, PRUint32 *key)
NS_IMETHOD AddCard (nsIAbCard *card, nsIAbCard **addedCard)
NS_IMETHOD DropCard (nsIAbCard *card, PRBool needToCopyCard)
NS_IMETHOD EditMailListToDatabase (const char *uri, nsIAbCard *listCard)
NS_DECL_NSIABDIRECTORYSEARCH
nsresult 
OnSearchFinished (PRInt32 result)
nsresult OnSearchFoundCard (nsIAbCard *card)
PRBool IsMailingList ()
NS_DECL_ISUPPORTS NS_IMETHOD EqualsNode (nsIRDFNode *aNode, PRBool *aResult)
boolean EqualsNode (in nsIRDFNode aNode)
void Init (in string uri)
 This method is called by the nsIRDFService after constructing a resource object to initialize it's URI.
NS_IMETHOD GetValue (char **aURI)
NS_IMETHOD GetValueUTF8 (nsACString &aResult)
NS_IMETHOD GetValueConst (const char **aURI)
void GetValueConst ([shared] out string aConstValue)
 An unscriptable version used to avoid a string copy.
NS_IMETHOD EqualsString (const char *aURI, PRBool *aResult)
boolean EqualsString (in string aURI)
 Determine if the resource has the given URI.
NS_IMETHOD GetDelegate (const char *aKey, REFNSIID aIID, void **aResult)
void GetDelegate (in string aKey, in nsIIDRef aIID,[iid_is(aIID), retval] out nsQIResult aResult)
 Retrieve the "delegate" object for this resource.
NS_IMETHOD ReleaseDelegate (const char *aKey)
void ReleaseDelegate (in string aKey)
 Force a delegate to be "unbound" from the resource.
NS_DECL_ISUPPORTS
NS_DECL_NSIABMDBDIRECTORY
NS_IMETHOD 
GetValueForCard (nsIAbCard *card, const char *name, PRUnichar **value)
NS_IMETHOD SetValueForCard (nsIAbCard *card, const char *name, const PRUnichar *value)
nsIAbDirectory addDirectory (in string uriName)
string getDirUri ()
void removeElementsFromAddressList ()
void addMailListToDirectory (in nsIAbDirectory mailList)
void copyDBMailList (in nsIAbMDBDirectory srcListDB)
void addAddressToList (in nsIAbCard card)
void removeEmailAddressAt (in unsigned long aIndex)
void notifyDirItemAdded (in nsISupports item)
void clearDatabase ()
boolean hasCardForEmailAddress (in string emailAddress)
nsIAbCard cardForEmailAddress (in string emailAddress)
 returns the address card for the specified email address.
void modifyDirectory (in nsIAbDirectory directory, in nsIAbDirectoryProperties aProperties)
void deleteDirectory (in nsIAbDirectory dierctory)
void deleteCards (in nsISupportsArray cards)
boolean hasCard (in nsIAbCard cards)
boolean hasDirectory (in nsIAbDirectory dir)
nsIAbCard addCard (in nsIAbCard card)
 return value is the card that got added we need to do this, as the card we pass in might be an abstract nsIAbCard, and the caller might need the "real" card (the mdbcard) to get / set non-standard card values
void dropCard (in nsIAbCard card, in boolean needToCopyCard)
void addMailList (in nsIAbDirectory list)
void addMailListWithKey (in nsIAbDirectory list, out PRUint32 key)
void editMailListToDatabase (in string uri, in nsIAbCard listCard)
 Edits an existing mailing list (specified as listCard) into the directory specified by the uri XXX javadoc me.
void copyMailList (in nsIAbDirectory srcList)
void createNewDirectory (in nsIAbDirectoryProperties aProperties)
void createDirectoryByURI (in wstring displayName, in string uri, in boolean migrating)
wstring getValueForCard (in nsIAbCard card, in string name)
void setValueForCard (in nsIAbCard card, in string name, in wstring value)
void onCardAttribChange (in unsigned long abCode)
void onCardEntryChange (in unsigned long abCode, in nsIAbCard card)
void onListEntryChange (in unsigned long abCode, in nsIAbDirectory list)
void onAnnouncerGoingAway ()
void startSearch ()
 Starts a search on the directory.
void stopSearch ()
 Stops a search on the directory.

Public Attributes

readonly attribute string Value
 The single-byte string value of the resource.
readonly attribute AUTF8String ValueUTF8
 The UTF-8 URI of the resource.
attribute unsigned long dbRowID
const long opRead = 0x1
const long opWrite = 0x2
const long opSearch = 0x4
readonly attribute long operations
attribute wstring dirName
attribute unsigned long lastModifiedDate
attribute PRBool isMailList
readonly attribute
nsIAbDirectoryProperties 
directoryProperties
readonly attribute
nsISimpleEnumerator 
childNodes
readonly attribute nsIEnumerator childCards
readonly attribute boolean isRemote
 directory is local (example, mork based) or remote (example, LDAP)
readonly attribute boolean isSecure
 directory is secure (as in LDAP over SSL)
readonly attribute boolean searchDuringLocalAutocomplete
 directory should be searched when doing local autocomplete
readonly attribute boolean supportsMailingLists
attribute nsISupportsArray addressLists
attribute wstring listNickName
attribute wstring description
attribute ACString dirPrefId

Protected Member Functions

nsresult NotifyPropertyChanged (nsIAbDirectory *list, const char *property, const PRUnichar *oldValue, const PRUnichar *newValue)
nsresult NotifyItemAdded (nsISupports *item)
nsresult NotifyItemDeleted (nsISupports *item)
nsresult NotifyItemChanged (nsISupports *item)
nsresult RemoveCardFromAddressList (nsIAbCard *card)
nsresult InternalAddMailList (nsIAbDirectory *list, PRUint32 *key)
nsresult GetAbDatabase ()
nsresult GetAttributeName (PRUnichar **aName, nsString &value)
nsresult SetAttributeName (const PRUnichar *aName, nsString &arrtibute)

Protected Attributes

nsCOMPtr< nsIAddrDatabasemDatabase
nsCOMArray< nsIAbDirectorymSubDirectories
PRBool mInitialized
PRInt16 mIsMailingList
PRBool mIsValidURI
PRBool mIsQueryURI
nsCString mPath
nsCString mQueryString
nsCString mURINoQuery
PRInt32 mContext
PRBool mPerformingQuery
nsSupportsHashtable mSearchCache
nsCString mURI
DelegateEntrymDelegates
PRUint32 m_dbRowID
nsString m_DirName
PRUint32 m_LastModifiedDate
nsString m_ListName
nsString m_ListNickName
nsString m_Description
PRBool m_IsMailList
nsCString m_DirPrefId
nsCOMPtr< nsISupportsArraym_AddressList

Static Protected Attributes

static nsIRDFServicegRDFService = nsnull
static nsrefcnt gRDFServiceRefCnt = 0

Detailed Description

Definition at line 63 of file nsAbMDBDirectory.h.


Constructor & Destructor Documentation

Definition at line 75 of file nsAbMDBDirectory.cpp.

{
  if (mDatabase) {
    mDatabase->RemoveListener(this);
  }
}

Member Function Documentation

Definition at line 704 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  nsresult rv = NS_OK;
  if (!mDatabase)
    rv = GetAbDatabase();

  if (NS_FAILED(rv) || !mDatabase)
    return NS_ERROR_FAILURE;

  nsCOMPtr<nsIAbCard> newCard;
  nsCOMPtr<nsIAbMDBCard> dbcard;

  dbcard = do_QueryInterface(card, &rv);
  if (NS_FAILED(rv) || !dbcard) {
    dbcard = do_CreateInstance(NS_ABMDBCARD_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv, rv);

    newCard = do_QueryInterface(dbcard, &rv);
    NS_ENSURE_SUCCESS(rv,rv);
  
    rv = newCard->Copy(card);
  NS_ENSURE_SUCCESS(rv, rv);
  }
  else {
    newCard = card;
  }

  dbcard->SetAbDatabase (mDatabase);
  if (mIsMailingList == 1)
    mDatabase->CreateNewListCardAndAddToDB(this, m_dbRowID, newCard, PR_TRUE /* notify */);
  else
    mDatabase->CreateNewCardAndAddToDB(newCard, PR_TRUE);
  mDatabase->Commit(nsAddrDBCommitType::kLargeCommit);

  NS_IF_ADDREF(*addedCard = newCard);
  return NS_OK;
}

Here is the call graph for this function:

return value is the card that got added we need to do this, as the card we pass in might be an abstract nsIAbCard, and the caller might need the "real" card (the mdbcard) to get / set non-standard card values

NS_IMETHODIMP nsAbMDBDirectory::AddDirectory ( const char *  uriName,
nsIAbDirectory **  childDir 
)

Definition at line 327 of file nsAbMDBDirectory.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 641 of file nsAbMDBDirectory.cpp.

{
  return(InternalAddMailList(list, nsnull));
}

Here is the call graph for this function:

Definition at line 636 of file nsAbMDBDirectory.cpp.

{
  return(InternalAddMailList(list, key));
}

Here is the call graph for this function:

NS_IMETHODIMP nsAbMDBDirectory::CardForEmailAddress ( const char *  aEmailAddress,
nsIAbCard **  aAbCard 
)

Definition at line 1031 of file nsAbMDBDirectory.cpp.

{
  NS_ENSURE_ARG_POINTER(aAbCard);

  *aAbCard = NULL;

  // Ensure that if we've not been given an email address we never match
  // so that we don't fail out unnecessarily and we don't match a blank email
  // address against random cards that the user hasn't supplied an email for.
  if (!aEmailAddress || !*aEmailAddress)
    return NS_OK;

  nsresult rv = NS_OK;
  if (!mDatabase)
    rv = GetAbDatabase();
  if (rv == NS_ERROR_FILE_NOT_FOUND)
  {
    // If file wasn't found, the card cannot exist.
    return NS_OK;
  }
  NS_ENSURE_SUCCESS(rv, rv);

  mDatabase->GetCardFromAttribute(this, kLowerPriEmailColumn /* see #196777 */, aEmailAddress, PR_TRUE /* caseInsensitive, see bug #191798 */, aAbCard);
  if (!*aAbCard) 
  {
    // fix for bug #187239
    // didn't find it as the primary email?  try again, with k2ndEmailColumn ("Additional Email")
    // 
    // TODO bug #198731
    // unlike the kPriEmailColumn, we don't have kLower2ndEmailColumn
    // so we will still suffer from bug #196777 for "additional emails"
    mDatabase->GetCardFromAttribute(this, k2ndEmailColumn, aEmailAddress, PR_TRUE /* caseInsensitive, see bug #191798 */, aAbCard);
  }

  return NS_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:

returns the address card for the specified email address.

Returns NULL if we were unable to find a card for the specified e-mail address

Definition at line 282 of file nsAbMDBDirectory.cpp.

{       
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  if (mDatabase)
  {
    mDatabase->RemoveListener(this);
    mDatabase = nsnull; 
  }
  return NS_OK; 
}
NS_IMETHODIMP nsAbMDBDirectory::CreateDirectoryByURI ( const PRUnichar dirName,
const char *  uri,
PRBool  migrating 
)

Definition at line 631 of file nsAbMDBDirectory.cpp.

void nsIAbDirectory::createDirectoryByURI ( in wstring  displayName,
in string  uri,
in boolean  migrating 
) [inherited]

Definition at line 626 of file nsAbMDBDirectory.cpp.

Definition at line 435 of file nsAbMDBDirectory.cpp.

{
  nsresult rv = NS_OK;

  if (mIsQueryURI) {
    // if this is a query, delete the cards from the directory (without the query)
    // before we do the delete, make this directory (which represents the search)
    // a listener on the database, so that it will get notified when the cards are deleted
    // after delete, remove this query as a listener.
    nsCOMPtr<nsIAddressBook> addressBook = do_GetService(NS_ADDRESSBOOK_CONTRACTID, &rv);
    NS_ENSURE_SUCCESS(rv,rv);

    nsCOMPtr<nsIAddrDatabase> database;
    rv = addressBook->GetAbDatabaseFromURI(mURINoQuery.get(), getter_AddRefs(database));
    NS_ENSURE_SUCCESS(rv,rv);

    rv = database->AddListener(this);
    NS_ENSURE_SUCCESS(rv, rv);

    nsCOMPtr<nsIRDFResource> resource;
    rv = gRDFService->GetResource(mURINoQuery, getter_AddRefs(resource));
    NS_ENSURE_SUCCESS(rv, rv);
    
    nsCOMPtr<nsIAbDirectory> directory = do_QueryInterface(resource, &rv);
    NS_ENSURE_SUCCESS(rv, rv);

    rv = directory->DeleteCards(cards);
    NS_ENSURE_SUCCESS(rv, rv);

    rv = database->RemoveListener(this);
    NS_ENSURE_SUCCESS(rv, rv);
    return rv;
  }

  if (!mDatabase)
    rv = GetAbDatabase();

  if (NS_SUCCEEDED(rv) && mDatabase)
  {
    PRUint32 cardCount;
    PRUint32 i;
    rv = cards->Count(&cardCount);
    NS_ENSURE_SUCCESS(rv, rv);
    for (i = 0; i < cardCount; i++)
    {
      nsCOMPtr<nsIAbCard> card;
      nsCOMPtr<nsIAbMDBCard> dbcard;
      card = do_QueryElementAt(cards, i, &rv);
      NS_ENSURE_SUCCESS(rv, rv);
      dbcard = do_QueryInterface(card, &rv);
      NS_ENSURE_SUCCESS(rv, rv);
      if (card)
      {
        if (IsMailingList())
        {
          mDatabase->DeleteCardFromMailList(this, card, PR_TRUE);

          PRUint32 cardTotal = 0;
          PRInt32 i;
          if (m_AddressList)
            rv = m_AddressList->Count(&cardTotal);
          for (i = cardTotal - 1; i >= 0; i--)
          {            
            nsCOMPtr<nsIAbMDBCard> dbarrayCard(do_QueryElementAt(m_AddressList, i, &rv));
            if (dbarrayCard)
            {
              PRUint32 tableID, rowID, cardTableID, cardRowID; 
              dbarrayCard->GetDbTableID(&tableID);
              dbarrayCard->GetDbRowID(&rowID);
              dbcard->GetDbTableID(&cardTableID);
              dbcard->GetDbRowID(&cardRowID);
              if (tableID == cardTableID && rowID == cardRowID)
                m_AddressList->RemoveElementAt(i);
            }
          }
        }
        else
        {
          mDatabase->DeleteCard(card, PR_TRUE);
          PRBool bIsMailList = PR_FALSE;
          card->GetIsMailList(&bIsMailList);
          if (bIsMailList)
          {
            //to do, get mailing list dir side uri and notify rdf to remove it
            PRUint32 rowID;
            dbcard->GetDbRowID(&rowID);
            nsCAutoString listUri(mURI);
            listUri.AppendLiteral("/MailList");
            listUri.AppendInt(rowID);
            if (!listUri.IsEmpty())
            {
              nsresult rv = NS_OK;
              nsCOMPtr<nsIRDFService> rdfService = 
                       do_GetService("@mozilla.org/rdf/rdf-service;1", &rv);

              if(NS_SUCCEEDED(rv))
                {
                nsCOMPtr<nsIRDFResource> listResource;
                rv = rdfService->GetResource(listUri,
                                             getter_AddRefs(listResource));
                nsCOMPtr<nsIAbDirectory> listDir = do_QueryInterface(listResource, &rv);
                if(NS_SUCCEEDED(rv))
                  {
                  if (m_AddressList)
                    m_AddressList->RemoveElement(listDir);
                  rv = mSubDirectories.RemoveObject(listDir);

                  if (listDir)
                    NotifyItemDeleted(listDir);
                  }
                else 
                  {
                  return rv;
                  }
                }
              else
                {
                return rv;
                }
            }
          }
          else
          { 
            rv = RemoveCardFromAddressList(card);
            NS_ENSURE_SUCCESS(rv,rv);
          }
        }
      }
    }
    mDatabase->Commit(nsAddrDBCommitType::kLargeCommit);
  }
  return rv;
}

Here is the call graph for this function:

Definition at line 152 of file nsAbMDBDirectory.cpp.

{
  nsresult rv = NS_OK;
  
  if (!directory)
    return NS_ERROR_FAILURE;

  nsCOMPtr<nsIAbMDBDirectory> dbdirectory(do_QueryInterface(directory, &rv));
  NS_ENSURE_SUCCESS(rv, rv);

  nsXPIDLCString uri;
  rv = dbdirectory->GetDirUri(getter_Copies(uri));
  NS_ENSURE_SUCCESS(rv, rv);

  nsCOMPtr<nsIAddrDatabase> database;
  nsCOMPtr<nsIAddressBook> addressBook = do_GetService(NS_ADDRESSBOOK_CONTRACTID, &rv);
  if (NS_SUCCEEDED(rv))
  {
    rv = addressBook->GetAbDatabaseFromURI(uri.get(), getter_AddRefs(database));        

    if (NS_SUCCEEDED(rv))
      rv = database->DeleteMailList(directory, PR_TRUE);

    if (NS_SUCCEEDED(rv))
      database->Commit(nsAddrDBCommitType::kLargeCommit);

    if (m_AddressList)
      m_AddressList->RemoveElement(directory);
    rv = mSubDirectories.RemoveObject(directory);

    NotifyItemDeleted(directory);
  }
  

  return rv;
}

Here is the call graph for this function:

NS_IMETHODIMP nsAbMDBDirectory::DropCard ( nsIAbCard card,
PRBool  needToCopyCard 
)

Definition at line 745 of file nsAbMDBDirectory.cpp.

{
  NS_ENSURE_ARG_POINTER(aCard);

  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  nsresult rv = NS_OK;

  // Don't add the card if it's not a normal one (ie, they can't be added as members).
  PRBool isNormal;
  rv = aCard->GetIsANormalCard(&isNormal);
  if (!isNormal)
    return NS_OK;

  NS_ASSERTION(!mURI.IsEmpty(), "Not initialized?");
  if (mIsMailingList == -1)
  {
    /* directory URIs are of the form
     * moz-abmdbdirectory://foo
     * mailing list URIs are of the form
     * moz-abmdbdirectory://foo/bar
     */
    NS_ENSURE_TRUE(mURI.Length() > kMDBDirectoryRootLen, NS_ERROR_UNEXPECTED);
    mIsMailingList = (strchr(mURI.get() + kMDBDirectoryRootLen, '/')) ? 1 : 0;
  }
  if (!mDatabase)
    rv = GetAbDatabase();

  if (NS_FAILED(rv) || !mDatabase)
    return NS_ERROR_FAILURE;

  nsCOMPtr<nsIAbCard> newCard;
  nsCOMPtr<nsIAbMDBCard> dbcard;

  if (needToCopyCard) {
    dbcard = do_CreateInstance(NS_ABMDBCARD_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv, rv);

    newCard = do_QueryInterface(dbcard, &rv);
    NS_ENSURE_SUCCESS(rv,rv);
  
    rv = newCard->Copy(aCard);
  NS_ENSURE_SUCCESS(rv, rv);
  }
  else {
    dbcard = do_QueryInterface(aCard, &rv);
    NS_ENSURE_SUCCESS(rv,rv);
    newCard = aCard;
  }  

  dbcard->SetAbDatabase(mDatabase);

  if (mIsMailingList == 1) {
    if (needToCopyCard) {
      nsCOMPtr <nsIMdbRow> cardRow;
      // if card doesn't exist in db, add the card to the directory that 
      // contains the mailing list.
      mDatabase->FindRowByCard(newCard, getter_AddRefs(cardRow));
      if (!cardRow)
        mDatabase->CreateNewCardAndAddToDB(newCard, PR_TRUE /* notify */);
      else
        mDatabase->InitCardFromRow(newCard, cardRow);
    }
    // since we didn't copy the card, we don't have to notify that it was inserted
    mDatabase->CreateNewListCardAndAddToDB(this, m_dbRowID, newCard, PR_FALSE /* notify */);
  }
  else {
    mDatabase->CreateNewCardAndAddToDB(newCard, PR_TRUE /* notify */);
  }
  mDatabase->Commit(nsAddrDBCommitType::kLargeCommit);
  return NS_OK;
}

Here is the call graph for this function:

void nsIAbDirectory::dropCard ( in nsIAbCard  card,
in boolean  needToCopyCard 
) [inherited]

Definition at line 819 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  nsresult rv = NS_OK;

  nsCOMPtr<nsIAddrDatabase>  listDatabase;  

  nsCOMPtr<nsIAddressBook> addressBook = do_GetService(NS_ADDRESSBOOK_CONTRACTID, &rv);
  if (NS_SUCCEEDED(rv))
    rv = addressBook->GetAbDatabaseFromURI(uri, getter_AddRefs(listDatabase));

  if (listDatabase)
  {
    listDatabase->EditMailList(this, listCard, PR_TRUE);
    listDatabase->Commit(nsAddrDBCommitType::kLargeCommit);
    listDatabase = nsnull;

    return NS_OK;

  }
  else
    return NS_ERROR_FAILURE;
}

Here is the call graph for this function:

void nsIAbDirectory::editMailListToDatabase ( in string  uri,
in nsIAbCard  listCard 
) [inherited]

Edits an existing mailing list (specified as listCard) into the directory specified by the uri XXX javadoc me.

boolean nsIRDFNode::EqualsNode ( in nsIRDFNode  aNode) [inherited]
NS_IMETHODIMP nsRDFResource::EqualsNode ( nsIRDFNode aNode,
PRBool aResult 
) [inherited]

Definition at line 84 of file nsRDFResource.cpp.

{
    NS_PRECONDITION(aNode != nsnull, "null ptr");
    if (! aNode)
        return NS_ERROR_NULL_POINTER;

    nsresult rv;
    nsIRDFResource* resource;
    rv = aNode->QueryInterface(NS_GET_IID(nsIRDFResource), (void**)&resource);
    if (NS_SUCCEEDED(rv)) {
        *aResult = (NS_STATIC_CAST(nsIRDFResource*, this) == resource);
        NS_RELEASE(resource);
        return NS_OK;
    }
    else if (rv == NS_NOINTERFACE) {
        *aResult = PR_FALSE;
        return NS_OK;
    }
    else {
        return rv;
    }
}
NS_IMETHODIMP nsRDFResource::EqualsString ( const char *  aURI,
PRBool aResult 
) [inherited]

Definition at line 156 of file nsRDFResource.cpp.

{
    NS_PRECONDITION(aURI != nsnull, "null ptr");
    if (! aURI)
        return NS_ERROR_NULL_POINTER;

    NS_PRECONDITION(aResult, "null ptr");

    *aResult = mURI.Equals(aURI);
    return NS_OK;
}

Determine if the resource has the given URI.

Definition at line 1004 of file nsAbMDBDirectory.cpp.

{
  NS_ASSERTION(!mURI.IsEmpty(), "Not initialized?");

  nsresult rv = NS_OK;

  if (!mDatabase) {
    nsCOMPtr<nsIAddressBook> addressBook = do_GetService(NS_ADDRESSBOOK_CONTRACTID, &rv);
    NS_ENSURE_SUCCESS(rv,rv);

    rv = addressBook->GetAbDatabaseFromURI(mURI.get(), getter_AddRefs(mDatabase));
    if (NS_SUCCEEDED(rv))
      rv = mDatabase->AddListener(this);
  }
  return rv;
}

Here is the call graph for this function:

Here is the caller graph for this function:

nsresult nsAbDirProperty::GetAttributeName ( PRUnichar **  aName,
nsString value 
) [protected, inherited]

Definition at line 135 of file nsAbDirProperty.cpp.

{
       if (aName)
       {
              *aName = ToNewUnicode(value);
              if (!(*aName)) 
                     return NS_ERROR_OUT_OF_MEMORY;
              else
                     return NS_OK;
       }
       else
              return NS_ERROR_NULL_POINTER;

}

Here is the call graph for this function:

Definition at line 390 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
  {
    nsresult rv;
    rv = StartSearch();
    NS_ENSURE_SUCCESS(rv, rv);

    // TODO
    // Search is synchronous so need to return
    // results after search is complete
    nsCOMPtr<nsISupportsArray> array;
    NS_NewISupportsArray(getter_AddRefs(array));
    mSearchCache.Enumerate(enumerateSearchCache, (void*)array);
    return array->Enumerate(result);
  }

  NS_ASSERTION(!mURI.IsEmpty(), "Not Initialized?");
  if (mIsMailingList == -1)
  {
    /* directory URIs are of the form
     * moz-abmdbdirectory://foo
     * mailing list URIs are of the form
     * moz-abmdbdirectory://foo/bar
     */
    NS_ENSURE_TRUE(mURI.Length() > kMDBDirectoryRootLen, NS_ERROR_UNEXPECTED);
    if (strchr(mURI.get() + kMDBDirectoryRootLen, '/'))
      mIsMailingList = 1;
    else
      mIsMailingList = 0;
  }

  nsresult rv = GetAbDatabase();

  if (NS_SUCCEEDED(rv) && mDatabase)
  {
    if (mIsMailingList == 0)
      rv = mDatabase->EnumerateCards(this, result);
    else if (mIsMailingList == 1)
      rv = mDatabase->EnumerateListAddresses(this, result);
  }

  return rv;
}

Here is the call graph for this function:

Definition at line 369 of file nsAbMDBDirectory.cpp.

Here is the call graph for this function:

NS_IMETHODIMP nsRDFResource::GetDelegate ( const char *  aKey,
REFNSIID  aIID,
void **  aResult 
) [inherited]

Definition at line 169 of file nsRDFResource.cpp.

{
    NS_PRECONDITION(aKey != nsnull, "null ptr");
    if (! aKey)
        return NS_ERROR_NULL_POINTER;

    nsresult rv;
    *aResult = nsnull;

    DelegateEntry* entry = mDelegates;
    while (entry) {
        if (entry->mKey.Equals(aKey)) {
            rv = entry->mDelegate->QueryInterface(aIID, aResult);
            return rv;
        }

        entry = entry->mNext;
    }

    // Construct a ContractID of the form "@mozilla.org/rdf/delegate/[key]/[scheme];1
    nsCAutoString contractID(NS_RDF_DELEGATEFACTORY_CONTRACTID_PREFIX);
    contractID.Append(aKey);
    contractID.Append("&scheme=");

    PRInt32 i = mURI.FindChar(':');
    contractID += StringHead(mURI, i);

    nsCOMPtr<nsIRDFDelegateFactory> delegateFactory =
             do_CreateInstance(contractID.get(), &rv);
    if (NS_FAILED(rv)) return rv;

    rv = delegateFactory->CreateDelegate(this, aKey, aIID, aResult);
    if (NS_FAILED(rv)) return rv;

    // Okay, we've successfully created a delegate. Let's remember it.
    entry = new DelegateEntry;
    if (! entry) {
        NS_RELEASE(*NS_REINTERPRET_CAST(nsISupports**, aResult));
        return NS_ERROR_OUT_OF_MEMORY;
    }
    
    entry->mKey      = aKey;
    entry->mDelegate = do_QueryInterface(*NS_REINTERPRET_CAST(nsISupports**, aResult), &rv);
    if (NS_FAILED(rv)) {
        NS_ERROR("nsRDFResource::GetDelegate(): can't QI to nsISupports!");

        delete entry;
        NS_RELEASE(*NS_REINTERPRET_CAST(nsISupports**, aResult));
        return NS_ERROR_FAILURE;
    }

    entry->mNext     = mDelegates;

    mDelegates = entry;

    return NS_OK;
}

Here is the call graph for this function:

void nsIRDFResource::GetDelegate ( in string  aKey,
in nsIIDRef  aIID,
[iid_is(aIID), retval] out nsQIResult  aResult 
) [inherited]

Retrieve the "delegate" object for this resource.

A resource may have several delegate objects, each of whose lifetimes is bound to the life of the resource object.

This method will return the delegate for the given key after QueryInterface()-ing it to the requested IID.

If no delegate exists for the specified key, this method will attempt to create one using the component manager. Specifically, it will combine aKey with the resource's URI scheme to produce a ContractID as follows:

component:/rdf/delegate-factory/[key]/[scheme]

This ContractID will be used to locate a factory using the FindFactory() method of nsIComponentManager. If the nsIFactory exists, it will be used to create a "delegate factory"; that is, an object that supports nsIRDFDelegateFactory. The delegate factory will be used to construct the delegate object.

Here is the caller graph for this function:

Definition at line 352 of file nsAbMDBDirectory.cpp.

{
  NS_ASSERTION(uri, "Null out param");
  NS_ASSERTION(!mURI.IsEmpty(), "Not initialized?");

  *uri = ToNewCString(mURI);

  if (!*uri)
    return NS_ERROR_OUT_OF_MEMORY;

  return NS_OK;
}

Here is the call graph for this function:

NS_IMETHODIMP nsRDFResource::GetValue ( char **  aURI) [inherited]

Definition at line 129 of file nsRDFResource.cpp.

{
    NS_ASSERTION(aURI, "Null out param.");
    
    *aURI = ToNewCString(mURI);

    if (!*aURI)
        return NS_ERROR_OUT_OF_MEMORY;

    return NS_OK;
}

Here is the call graph for this function:

NS_IMETHODIMP nsRDFResource::GetValueConst ( const char **  aURI) [inherited]

Definition at line 149 of file nsRDFResource.cpp.

{
    *aURI = mURI.get();
    return NS_OK;
}

Here is the call graph for this function:

void nsIRDFResource::GetValueConst ( [shared] out string  aConstValue) [inherited]

An unscriptable version used to avoid a string copy.

Meant for use as a performance optimization. The string is encoded in UTF-8.

NS_IMETHODIMP nsAbMDBDirProperty::GetValueForCard ( nsIAbCard card,
const char *  name,
PRUnichar **  value 
) [inherited]

Definition at line 181 of file nsAbMDBDirProperty.cpp.

{
  nsresult rv;
  nsCOMPtr <nsIAbMDBCard> mdbcard = do_QueryInterface(card, &rv);
  if (NS_FAILED(rv) || !mdbcard) {
    // XXX this shouldn't happen
    // but it is, after ab sync
    // I think are nsAbCardProperties are getting into the nsAbView
    // and later, on paint, we are asking for them.
    return NS_OK;
  }

  rv = mdbcard->GetStringAttribute(name, value);
  NS_ENSURE_SUCCESS(rv,rv);
  return rv;
}

Here is the call graph for this function:

wstring nsIAbDirectory::getValueForCard ( in nsIAbCard  card,
in string  name 
) [inherited]
NS_IMETHODIMP nsRDFResource::GetValueUTF8 ( nsACString &  aResult) [inherited]

Definition at line 142 of file nsRDFResource.cpp.

{
    aResult = mURI;
    return NS_OK;
}

Definition at line 569 of file nsAbMDBDirectory.cpp.

{
  if(!hasCard)
    return NS_ERROR_NULL_POINTER;

  if (mIsQueryURI)
  {
    nsVoidKey key (NS_STATIC_CAST(void*, cards));
    *hasCard = mSearchCache.Exists (&key);
    return NS_OK;
  }

  nsresult rv = NS_OK;
  if (!mDatabase)
    rv = GetAbDatabase();

  if(NS_SUCCEEDED(rv) && mDatabase)
  {
    if(NS_SUCCEEDED(rv))
      rv = mDatabase->ContainsCard(cards, hasCard);
  }
  return rv;
}

Here is the call graph for this function:

boolean nsIAbDirectory::hasCard ( in nsIAbCard  cards) [inherited]

Here is the caller graph for this function:

NS_IMETHODIMP nsAbMDBDirectory::HasCardForEmailAddress ( const char *  aEmailAddress,
PRBool aCardExists 
)

Definition at line 1021 of file nsAbMDBDirectory.cpp.

{
  nsCOMPtr<nsIAbCard> card;
  nsresult rv = CardForEmailAddress(aEmailAddress, getter_AddRefs(card));
  NS_ENSURE_SUCCESS(rv, rv);
  
  *aCardExists = card ? PR_TRUE : PR_FALSE;
  return NS_OK;
}

Here is the call graph for this function:

Definition at line 593 of file nsAbMDBDirectory.cpp.

{
  if (!hasDir)
    return NS_ERROR_NULL_POINTER;

  nsresult rv = NS_ERROR_FAILURE;

  nsCOMPtr<nsIAbMDBDirectory> dbdir(do_QueryInterface(dir, &rv));
    NS_ENSURE_SUCCESS(rv, rv);
  
  PRBool bIsMailingList  = PR_FALSE;
  dir->GetIsMailList(&bIsMailingList);
  if (bIsMailingList)
  {
    nsXPIDLCString uri;
    rv = dbdir->GetDirUri(getter_Copies(uri));
        NS_ENSURE_SUCCESS(rv, rv);
    nsCOMPtr<nsIAddrDatabase> database;
      nsCOMPtr<nsIAddressBook> addressBook = do_GetService(NS_ADDRESSBOOK_CONTRACTID, &rv);
    if (NS_SUCCEEDED(rv))
    {
      rv = addressBook->GetAbDatabaseFromURI(uri.get(), getter_AddRefs(database));        
    }
    if(NS_SUCCEEDED(rv) && database)
    {
      if(NS_SUCCEEDED(rv))
        rv = database->ContainsMailList(dir, hasDir);
    }
  }

  return rv;
}

Here is the call graph for this function:

void nsIRDFResource::Init ( in string  uri) [inherited]

This method is called by the nsIRDFService after constructing a resource object to initialize it's URI.

You would not normally call this method directly

Reimplemented from nsRDFResource.

Definition at line 236 of file nsAbMDBDirectory.cpp.

{
  nsresult rv;

  rv = nsRDFResource::Init(aURI);
  NS_ENSURE_SUCCESS(rv, rv);

  mURINoQuery = aURI;

  nsCOMPtr<nsIURI> uri = do_CreateInstance (NS_STANDARDURL_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv, rv);

  rv = uri->SetSpec(nsDependentCString(aURI));
  NS_ENSURE_SUCCESS(rv, rv);

  mIsValidURI = PR_TRUE;

    nsCOMPtr<nsIURL> url = do_QueryInterface(uri);
  NS_ENSURE_SUCCESS(rv, rv);

  nsCAutoString queryString;
  rv = url->GetQuery (queryString);

  nsCAutoString path;
  rv = url->GetPath (path);
  mPath = path;

  if (!queryString.IsEmpty())
  {
    mPath.Truncate(path.Length() - queryString.Length() - 1);

    mURINoQuery.Truncate(mURINoQuery.Length() - queryString.Length() - 1);

    mQueryString = queryString;

    mIsQueryURI = PR_TRUE;
  }
  else
    mIsQueryURI = PR_FALSE;

  return rv;
}

Here is the call graph for this function:

Definition at line 646 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  nsresult rv = NS_OK;
  if (!mDatabase)
    rv = GetAbDatabase();

  if (NS_FAILED(rv) || !mDatabase)
    return NS_ERROR_FAILURE;

  nsCOMPtr<nsIAbMDBDirectory> dblist(do_QueryInterface(list, &rv));
  if (NS_FAILED(rv))
  {
    // XXX fix this.
    nsAbMDBDirProperty* dblistproperty = new nsAbMDBDirProperty ();
    if (!dblistproperty)
      return NS_ERROR_OUT_OF_MEMORY;
    NS_ADDREF(dblistproperty);
    nsCOMPtr<nsIAbDirectory> newlist = getter_AddRefs(NS_STATIC_CAST(nsIAbDirectory*, dblistproperty));
    newlist->CopyMailList(list);
    list = newlist;
    dblist = do_QueryInterface(list, &rv);
  }

  if (!key)
    mDatabase->CreateMailListAndAddToDB(list, PR_TRUE);
  else
    mDatabase->CreateMailListAndAddToDBWithKey(list, PR_TRUE, key);
  mDatabase->Commit(nsAddrDBCommitType::kLargeCommit);

  PRUint32 dbRowID;
  dblist->GetDbRowID(&dbRowID);

  nsCAutoString listUri(mURI);
  listUri.AppendLiteral("/MailList");
  listUri.AppendInt(dbRowID);

  nsCOMPtr<nsIAbDirectory> newList;
  rv = AddDirectory(listUri.get(), getter_AddRefs(newList));
  nsCOMPtr<nsIAbMDBDirectory> dbnewList(do_QueryInterface(newList));
  if (NS_SUCCEEDED(rv) && newList)
  {
    nsCOMPtr<nsIAddrDBListener> listener(do_QueryInterface(newList, &rv));
    NS_ENSURE_SUCCESS(rv, rv);
    
    rv = mDatabase->AddListener(listener);
    NS_ENSURE_SUCCESS(rv, rv);

    dbnewList->CopyDBMailList (dblist);
    AddMailListToDirectory(newList);
    NotifyItemAdded(newList);
  }

  return rv;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 113 of file nsAbMDBDirectory.h.

{ return (mIsMailingList == 1); }

Here is the caller graph for this function:

Definition at line 146 of file nsAbMDBDirectory.cpp.

void nsIAbDirectory::modifyDirectory ( in nsIAbDirectory  directory,
in nsIAbDirectoryProperties  aProperties 
) [inherited]
NS_IMETHOD nsAbMDBDirectory::NotifyDirItemAdded ( nsISupports *  item) [inline]

Definition at line 82 of file nsAbMDBDirectory.h.

{ return NotifyItemAdded(item);}

Here is the call graph for this function:

void nsIAbMDBDirectory::notifyDirItemAdded ( in nsISupports  item) [inherited]
nsresult nsAbMDBDirectory::NotifyItemAdded ( nsISupports *  item) [protected]

Definition at line 214 of file nsAbMDBDirectory.cpp.

{
  nsresult rv = NS_OK;
  nsCOMPtr<nsIAddrBookSession> abSession = do_GetService(NS_ADDRBOOKSESSION_CONTRACTID, &rv);
  if(NS_SUCCEEDED(rv))
    abSession->NotifyDirectoryItemAdded(this, item);
  return NS_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:

nsresult nsAbMDBDirectory::NotifyItemChanged ( nsISupports *  item) [protected]

Definition at line 189 of file nsAbMDBDirectory.cpp.

{
  nsresult rv;
  nsCOMPtr<nsIAddrBookSession> abSession = do_GetService(NS_ADDRBOOKSESSION_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv,rv);

  rv = abSession->NotifyItemPropertyChanged(item, nsnull, nsnull, nsnull);
  NS_ENSURE_SUCCESS(rv,rv);
  return rv;
}

Here is the call graph for this function:

nsresult nsAbMDBDirectory::NotifyItemDeleted ( nsISupports *  item) [protected]

Definition at line 223 of file nsAbMDBDirectory.cpp.

{
  nsresult rv = NS_OK;
  nsCOMPtr<nsIAddrBookSession> abSession = do_GetService(NS_ADDRBOOKSESSION_CONTRACTID, &rv);
  if(NS_SUCCEEDED(rv))
    abSession->NotifyDirectoryItemDeleted(this, item);

  return NS_OK;
}

Here is the call graph for this function:

Here is the caller graph for this function:

nsresult nsAbMDBDirectory::NotifyPropertyChanged ( nsIAbDirectory list,
const char *  property,
const PRUnichar oldValue,
const PRUnichar newValue 
) [protected]

Definition at line 200 of file nsAbMDBDirectory.cpp.

{
  nsresult rv;
  nsCOMPtr<nsISupports> supports = do_QueryInterface(list, &rv);
  NS_ENSURE_SUCCESS(rv,rv);

  nsCOMPtr<nsIAddrBookSession> abSession = do_GetService(NS_ADDRBOOKSESSION_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv,rv);

  rv = abSession->NotifyItemPropertyChanged(supports, property, oldValue, newValue);
  NS_ENSURE_SUCCESS(rv,rv);
  return rv;
}

Here is the call graph for this function:

void nsIAddrDBListener::onCardAttribChange ( in unsigned long  abCode) [inherited]
void nsIAddrDBListener::onCardEntryChange ( in unsigned long  abCode,
in nsIAbCard  card 
) [inherited]
void nsIAddrDBListener::onListEntryChange ( in unsigned long  abCode,
in nsIAbDirectory  list 
) [inherited]

Implements nsAbDirSearchListenerContext.

Definition at line 985 of file nsAbMDBDirectory.cpp.

Implements nsAbDirSearchListenerContext.

Definition at line 991 of file nsAbMDBDirectory.cpp.

{
  nsVoidKey key (NS_STATIC_CAST(void*, card));
  mSearchCache.Put (&key, card);

  // TODO
  // Search is synchronous so asserting on the
  // datasource will not work since the getChildCards
  // method will not have returned with results.
  // NotifyItemAdded (card);
  return NS_OK;
}
NS_IMETHODIMP nsRDFResource::ReleaseDelegate ( const char *  aKey) [inherited]

Definition at line 228 of file nsRDFResource.cpp.

{
    NS_PRECONDITION(aKey != nsnull, "null ptr");
    if (! aKey)
        return NS_ERROR_NULL_POINTER;

    DelegateEntry* entry = mDelegates;
    DelegateEntry** link = &mDelegates;

    while (entry) {
        if (entry->mKey.Equals(aKey)) {
            *link = entry->mNext;
            delete entry;
            return NS_OK;
        }

        link = &(entry->mNext);
        entry = entry->mNext;
    }

    NS_WARNING("nsRDFResource::ReleaseDelegate() no delegate found");
    return NS_OK;
}

Force a delegate to be "unbound" from the resource.

Normally, a delegate object's lifetime will be identical to that of the resource to which it is bound; this method allows a delegate to unlink itself from an RDF resource prematurely.

Here is the caller graph for this function:

Definition at line 295 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  if (m_AddressList)
  {
    PRUint32 count;
    nsresult rv;
    rv = m_AddressList->Count(&count);
    NS_ASSERTION(NS_SUCCEEDED(rv), "Count failed");
    PRInt32 i;
    for (i = count - 1; i >= 0; i--)
      m_AddressList->RemoveElementAt(i);
  }
  m_AddressList = nsnull;
  return NS_OK;
}
void nsIAbMDBDirectory::removeEmailAddressAt ( in unsigned long  aIndex) [inherited]

Definition at line 314 of file nsAbMDBDirectory.cpp.

{
  if (mIsQueryURI)
    return NS_ERROR_NOT_IMPLEMENTED;

  if (m_AddressList)
  {
    return m_AddressList->RemoveElementAt(aIndex);
  }
  else
    return NS_ERROR_FAILURE;
}
nsresult nsAbDirProperty::SetAttributeName ( const PRUnichar aName,
nsString arrtibute 
) [protected, inherited]

Definition at line 150 of file nsAbDirProperty.cpp.

{
       if (aName)
              arrtibute = aName;
       return NS_OK;
}
NS_IMETHODIMP nsAbMDBDirProperty::SetValueForCard ( nsIAbCard card,
const char *  name,
const PRUnichar value 
) [inherited]

Definition at line 198 of file nsAbMDBDirProperty.cpp.

{
  nsresult rv;
  nsCOMPtr <nsIAbMDBCard> mdbcard = do_QueryInterface(card, &rv);
  NS_ENSURE_SUCCESS(rv,rv);

  rv = mdbcard->SetStringAttribute(name, value);
  NS_ENSURE_SUCCESS(rv,rv);
  return rv;
}

Here is the call graph for this function:

void nsIAbDirectory::setValueForCard ( in nsIAbCard  card,
in string  name,
in wstring  value 
) [inherited]

Starts a search on the directory.

If a search is already being performed it is stopped.

The results from a search, cards, will returned by informing the address book session that a new card has been added to the directory.

The nsIAbDirectoryQuery implementation of the directory component (or a proxy) may be used as an implementation for this specialization of query.

This method is semantically equivalent to the nsIAbDirectory.getChildCards method when there is search criteria defined in the directory uri.

Stops a search on the directory.


Member Data Documentation

Definition at line 163 of file nsIAbDirectory.idl.

Definition at line 103 of file nsIAbDirectory.idl.

Definition at line 98 of file nsIAbDirectory.idl.

Definition at line 81 of file nsIAbMDBDirectory.idl.

Definition at line 177 of file nsIAbDirectory.idl.

Definition at line 95 of file nsIAbDirectory.idl.

attribute wstring nsIAbDirectory::dirName [inherited]

Definition at line 85 of file nsIAbDirectory.idl.

attribute ACString nsIAbDirectory::dirPrefId [inherited]

Definition at line 208 of file nsIAbDirectory.idl.

nsIRDFService * nsRDFResource::gRDFService = nsnull [static, protected, inherited]

Definition at line 75 of file nsRDFResource.h.

nsrefcnt nsRDFResource::gRDFServiceRefCnt = 0 [static, protected, inherited]

Definition at line 76 of file nsRDFResource.h.

Definition at line 92 of file nsIAbDirectory.idl.

directory is local (example, mork based) or remote (example, LDAP)

Definition at line 142 of file nsIAbDirectory.idl.

directory is secure (as in LDAP over SSL)

Definition at line 147 of file nsIAbDirectory.idl.

Definition at line 88 of file nsIAbDirectory.idl.

Definition at line 176 of file nsIAbDirectory.idl.

Definition at line 84 of file nsAbDirProperty.h.

PRUint32 nsAbMDBDirProperty::m_dbRowID [protected, inherited]

Definition at line 73 of file nsAbMDBDirProperty.h.

nsString nsAbDirProperty::m_Description [protected, inherited]

Definition at line 79 of file nsAbDirProperty.h.

nsString nsAbDirProperty::m_DirName [protected, inherited]

Definition at line 74 of file nsAbDirProperty.h.

nsCString nsAbDirProperty::m_DirPrefId [protected, inherited]

Definition at line 81 of file nsAbDirProperty.h.

PRBool nsAbDirProperty::m_IsMailList [protected, inherited]

Definition at line 80 of file nsAbDirProperty.h.

Definition at line 75 of file nsAbDirProperty.h.

nsString nsAbDirProperty::m_ListName [protected, inherited]

Definition at line 77 of file nsAbDirProperty.h.

nsString nsAbDirProperty::m_ListNickName [protected, inherited]

Definition at line 78 of file nsAbDirProperty.h.

Definition at line 137 of file nsAbMDBDirectory.h.

Definition at line 124 of file nsAbMDBDirectory.h.

DelegateEntry* nsRDFResource::mDelegates [protected, inherited]

Definition at line 87 of file nsRDFResource.h.

Definition at line 128 of file nsAbMDBDirectory.h.

Definition at line 129 of file nsAbMDBDirectory.h.

Definition at line 132 of file nsAbMDBDirectory.h.

Definition at line 131 of file nsAbMDBDirectory.h.

Definition at line 133 of file nsAbMDBDirectory.h.

Definition at line 138 of file nsAbMDBDirectory.h.

Definition at line 134 of file nsAbMDBDirectory.h.

nsSupportsHashtable nsAbMDBDirectory::mSearchCache [protected]

Definition at line 139 of file nsAbMDBDirectory.h.

Definition at line 127 of file nsAbMDBDirectory.h.

nsCString nsRDFResource::mURI [protected, inherited]

Definition at line 79 of file nsRDFResource.h.

Definition at line 135 of file nsAbMDBDirectory.h.

Definition at line 82 of file nsIAbDirectory.idl.

const long nsIAbDirectory::opRead = 0x1 [inherited]

Definition at line 72 of file nsIAbDirectory.idl.

const long nsIAbDirectory::opSearch = 0x4 [inherited]

Definition at line 79 of file nsIAbDirectory.idl.

const long nsIAbDirectory::opWrite = 0x2 [inherited]

Definition at line 75 of file nsIAbDirectory.idl.

directory should be searched when doing local autocomplete

Definition at line 152 of file nsIAbDirectory.idl.

Definition at line 155 of file nsIAbDirectory.idl.

readonly attribute string nsIRDFResource::Value [inherited]

The single-byte string value of the resource.

Note:
THIS IS OBSOLETE. C++ should use GetValueConst and script should use .valueUTF8

Definition at line 53 of file nsIRDFResource.idl.

readonly attribute AUTF8String nsIRDFResource::ValueUTF8 [inherited]

The UTF-8 URI of the resource.

Definition at line 58 of file nsIRDFResource.idl.


The documentation for this class was generated from the following files: