diff -r 8ba0afbb4637 -r a15d9966050f inc/msgcontacthandler.h --- a/inc/msgcontacthandler.h Thu Sep 02 20:23:03 2010 +0300 +++ b/inc/msgcontacthandler.h Fri Sep 17 08:28:39 2010 +0300 @@ -28,6 +28,7 @@ #include #include #include +#include QTM_BEGIN_NAMESPACE class QContactManager; @@ -37,14 +38,14 @@ class MsgContactHandler { - + public: /** * This shall resolve contact number with display name * @param contactNumber number to resolve * @param displayName resolved name - * @param countPhoneNumber specifies number of contacts inside + * @param countPhoneNumber specifies number of contacts inside * the resolved contact ex mobile, home, office etc * @return contacts unique localId */ @@ -148,12 +149,12 @@ QContactPhoneNumber::FieldNumber); phoneFilter.setValue(phoneNumber); phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); - + QList matchingContacts = phonebookManager.contacts(phoneFilter); return matchingContacts; } - + /** * Get display-name of a contact from VCard. * @param filePath, VCard file-path @@ -202,6 +203,46 @@ file.close(); return displayName; } + + /** + * Get list of self-addresses + * @return QStringList, list of self-addresses + */ + static QStringList selfAddresses() + { + QStringList selfAddrs; + QContactManager* contactManager = + new QContactManager("symbian"); + QContactLocalId selfId = contactManager->selfContactId(); + if( (selfId == 0) || + (contactManager->error() == QContactManager::DoesNotExistError) ) + { + // if no self-address exists + return selfAddrs; + } + + QContact selfContact = contactManager->contact(selfId); + + // append numbers to the list of self-addresses + QList selfPhoneNumbers = + selfContact.details(); + int selfNumCount = selfPhoneNumbers.count(); + for(int i=0; i< selfNumCount; i++) + { + selfAddrs << selfPhoneNumbers.at(i).number(); + } + + // append email-addresses to the list + QList selfEmailAddrs = + selfContact.details(); + int selfEmailAddrCount = selfEmailAddrs.count(); + for(int i=0; i< selfEmailAddrCount; i++) + { + selfAddrs << selfEmailAddrs.at(i).emailAddress(); + } + return selfAddrs; + } + }; #endif /* MSGCONTACTHANDLER_H_ */