cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.cpp
changeset 15 d7fc66ccd6fb
parent 13 e32024264ebb
child 19 e44a8c097b15
--- a/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.cpp	Fri Apr 16 15:31:58 2010 +0300
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallbarringwrapper_p.cpp	Mon May 03 13:01:45 2010 +0300
@@ -262,6 +262,27 @@
 
 
 /*!
+  PSetCallBarringWrapperPrivate::changeBarringPassword
+ */
+void PSetCallBarringWrapperPrivate::changeBarringPassword(
+    const QString &oldPassword,
+    const QString &newPassword,
+    const QString &verifiedPassword)
+{
+    RMobilePhone::TMobilePhonePasswordChangeV2 passwordChange;
+    passwordChange.iOldPassword.Copy(oldPassword.utf16());
+    passwordChange.iNewPassword.Copy(newPassword.utf16());
+    passwordChange.iVerifiedPassword.Copy(verifiedPassword.utf16());
+    
+    QT_TRAP_THROWING(
+        m_callBarring->ChangePasswordL(passwordChange);
+    )
+    
+    m_currentRequest = RequestChangePassword;
+}
+
+
+/*!
   From MPsetBarringObserver.
   PSetCallBarringWrapperPrivate::HandleBarringModeChangedL
  */
@@ -360,7 +381,11 @@
 {
     DPRINT;
     
-    Q_UNUSED(aSuccess)
+    if (aSuccess) {
+        m_barringError = PSetCallBarringWrapper::BarringErrorNone;
+    } else {
+        m_barringError = KErrGsmSSNegativePasswordCheck;
+    }
 }
 
 
@@ -417,6 +442,18 @@
             DPRINT << "RequestDisableBarring ERROR:" << errorCode;
             break;
         }
+        
+        case RequestChangePassword:
+        {
+            int errorCode = 0;
+            QT_TRYCATCH_ERROR( errorCode,
+                emit m_owner.barringPasswordChangeRequestCompleted(
+                    m_barringError);
+            )
+            DPRINT << "RequestChangePassword ERROR:" << errorCode;
+            break;
+        }
+        
         default:
             break;
     }