зеркало из https://github.com/mozilla/gecko-dev.git
add method to get card given e-mail address
This commit is contained in:
Родитель
cdd864e6c1
Коммит
e67e36fe83
|
@ -52,6 +52,8 @@ interface nsIAddrDatabase : nsIAddrDBAnnouncer {
|
|||
void EditCard(in nsIAbCard card, in boolean beNotify);
|
||||
void ContainsCard(in nsIAbCard card, out boolean hasCard);
|
||||
|
||||
void GetCardForEmailAddress(in string emailAddress, out nsIAbCard card);
|
||||
|
||||
void SetAnonymousStringAttribute(in string attrname, in string value);
|
||||
void GetAnonymousStringAttribute(in string attrname, out string value);
|
||||
void SetAnonymousIntAttribute(in string attrname, in unsigned long value);
|
||||
|
|
|
@ -2269,3 +2269,30 @@ nsresult nsAddrDatabase::CreateABCard(nsIMdbRow* cardRow, nsIAbCard **result)
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsAddrDatabase::GetCardForEmailAddress(const char *emailAddress, nsIAbCard **cardResult)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
if (!cardResult)
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
|
||||
mdbYarn emailAddressYarn;
|
||||
|
||||
emailAddressYarn.mYarn_Buf = (void *) emailAddress;
|
||||
emailAddressYarn.mYarn_Fill = PL_strlen(emailAddress);
|
||||
emailAddressYarn.mYarn_Form = 0;
|
||||
emailAddressYarn.mYarn_Size = emailAddressYarn.mYarn_Fill;
|
||||
|
||||
nsIMdbRow *cardRow;
|
||||
mdbOid outRowId;
|
||||
mdb_err result = GetStore()->FindRow(GetEnv(), m_CardRowScopeToken,
|
||||
m_PriEmailColumnToken, &emailAddressYarn, &outRowId,
|
||||
&cardRow);
|
||||
if (NS_SUCCEEDED(result) && cardRow)
|
||||
{
|
||||
rv = CreateABCard(cardRow, cardResult);
|
||||
}
|
||||
else
|
||||
*cardResult = nsnull;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
@ -86,6 +86,9 @@ public:
|
|||
NS_IMETHOD DeleteCard(nsIAbCard *newCard, PRBool notify);
|
||||
NS_IMETHOD EditCard(nsIAbCard *card, PRBool notify);
|
||||
NS_IMETHOD ContainsCard(nsIAbCard *card, PRBool *hasCard);
|
||||
|
||||
NS_IMETHOD GetCardForEmailAddress(const char *emailAddress, nsIAbCard **card);
|
||||
|
||||
NS_IMETHOD SetAnonymousStringAttribute(const char *attrname, const char *value);
|
||||
NS_IMETHOD GetAnonymousStringAttribute(const char *attrname, char** value);
|
||||
NS_IMETHOD SetAnonymousIntAttribute(const char *attrname, PRUint32 value);
|
||||
|
|
Загрузка…
Ссылка в новой задаче