messagingapp/msgui/msguiutils/src/msgsendutil.cpp
changeset 72 6f657153cbc5
parent 52 12db4185673b
--- 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 <xqconversions.h>
+#include <commonphoneparser.h> // 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
 //--------------------------------------------------------------