diff -r a15d9966050f -r 6f657153cbc5 messagingapp/msgui/msguiutils/src/msgsendutil.cpp --- a/messagingapp/msgui/msguiutils/src/msgsendutil.cpp Fri Sep 17 08:28:39 2010 +0300 +++ b/messagingapp/msgui/msguiutils/src/msgsendutil.cpp Mon Oct 04 00:13:15 2010 +0300 @@ -23,6 +23,8 @@ // general editor utilities #include "UniEditorGenUtils.h" +#include +#include // commonengine //--------------------------------------------------------------- // MsgSendUtil::MsgSendUtil @@ -104,6 +106,32 @@ } //--------------------------------------------------------------- +// MsgSendUtil::isValidAddress +// @see header file +//-------------------------------------------------------------- +bool MsgSendUtil::isValidAddress(const QString &address) +{ + bool isValid = false; + if (!address.isEmpty()) { + + HBufC *tempAddr = XQConversions::qStringToS60Desc(address); + + // 1. perform number validation + isValid = CommonPhoneParser::IsValidPhoneNumber(*tempAddr, CommonPhoneParser::ESMSNumber); + + // 2. if number validity fails, then perform email addr validation + if (!isValid) { + // additional check for MMS only + UniEditorGenUtils* genUtils = q_check_ptr(new UniEditorGenUtils); + isValid = genUtils->IsValidEmailAddress(*tempAddr); + delete genUtils; + } + delete tempAddr; + } + return isValid; +} + +//--------------------------------------------------------------- // MsgSendUtil::checkEmailOverSms // @see header file //--------------------------------------------------------------