cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.cpp
branchRCL_3
changeset 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cellular/telephonysettings/xqbindings/psetwrapper/src/psetcallwaitingwrapper_p.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#include <rsssettings.h>
+#include <psetcontainer.h>
+#include <psetcallwaiting.h>
+#include "psetcallwaitingwrapper.h"
+#include "psetcallwaitingwrapper_p.h"
+#include "logging.h"
+
+/*!
+  ConvertToQtType
+ */
+PSetCallWaitingWrapper::PsCallWaitingStatus ConvertToQtType(
+    const MPsetCallWaiting::TGetCallWaitingStatus& status)
+{
+    PSetCallWaitingWrapper::PsCallWaitingStatus convertedType =
+        PSetCallWaitingWrapper::StatusUnknown;
+    
+    switch (status) {
+        case MPsetCallWaiting::EStatusActive:
+            convertedType = PSetCallWaitingWrapper::StatusActive;
+            break;
+        case MPsetCallWaiting::EStatusDisabled:
+            convertedType = PSetCallWaitingWrapper::StatusDisabled;
+            break;
+        case MPsetCallWaiting::EStatusNotAvailable:
+            convertedType = PSetCallWaitingWrapper::StatusNotAvailable;
+            break;
+        case MPsetCallWaiting::EStatusNotProvisioned:
+            convertedType = PSetCallWaitingWrapper::StatusNotProvisioned;
+            break;
+        case MPsetCallWaiting::EStatusUnknown:
+            convertedType = PSetCallWaitingWrapper::StatusUnknown;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+
+/*!
+  ConvertToQtType
+ */
+PSetCallWaitingWrapper::PsCallWaitingCommand ConvertToQtType(
+    const MPsetCallWaiting::TSetCallWaiting& callWaitingCommand)
+{
+    PSetCallWaitingWrapper::PsCallWaitingCommand convertedType =
+        PSetCallWaitingWrapper::ActivateCallWaiting;
+    
+    switch (callWaitingCommand) {
+        case MPsetCallWaiting::EActivateCallWaiting:
+            convertedType = PSetCallWaitingWrapper::ActivateCallWaiting;
+            break;
+        case MPsetCallWaiting::EDeactivateCallWaiting:
+            convertedType = PSetCallWaitingWrapper::DeactivateCallWaiting;
+            break;
+        default:
+            Q_ASSERT_X(false, "switch default", "unknown enumerator");
+            break;
+    }
+    
+    return convertedType;
+}
+    
+/*!
+  PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate
+ */
+PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate( 
+        PSetCallWaitingWrapper &owner ) : m_Owner(owner)
+{
+    DPRINT;
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate
+ */
+PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate()
+{
+    DPRINT;
+}
+
+// --------  Observer interface  --------- // 
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL( 
+        const MPsetCallWaiting::TGetCallWaitingStatus aStatus, 
+        TUint8 aBsc[KPSetNumberOfBsc] )
+{
+    DPRINT << "aStatus:" << aStatus;
+    
+    QT_TRYCATCH_LEAVING(
+        QList<unsigned char> basicServiceGroupIds;
+        int index = 0;
+        unsigned char groupIdCandidate = aBsc[index];
+        while (groupIdCandidate != KPSetUnusedValue) {
+            basicServiceGroupIds << groupIdCandidate;
+            groupIdCandidate = aBsc[++index];
+        }
+        
+        emit m_Owner.handleCallWaitingGetStatus(
+            ConvertToQtType(aStatus), basicServiceGroupIds );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL( 
+        const MPsetCallWaiting::TSetCallWaiting aSetting, 
+        const int aResult )
+{
+    DPRINT << "aSetting: " << aSetting
+            << "aResult" << aResult;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingChanged(
+            ConvertToQtType(aSetting), 
+            static_cast<int>(aResult) );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCWRequestingL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCWRequestingL( TBool aOngoing, 
+        TBool aInterrupted )   
+{
+    DPRINT << "aOngoing: " << aOngoing
+            << " aInterrupted: " << aInterrupted;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingRequesting( 
+            static_cast<bool>(aOngoing), 
+            static_cast<bool>(aInterrupted) );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::HandleCWErrorL
+ */
+void PSetCallWaitingWrapperPrivate::HandleCWErrorL( TInt aError )
+{
+    DPRINT << "aError: " << aError;
+    
+    QT_TRYCATCH_LEAVING(
+        emit m_Owner.handleCallWaitingError( aError );
+    )
+}
+
+/*!
+  PSetCallWaitingWrapperPrivate::SetEngineContact
+ */
+void PSetCallWaitingWrapperPrivate::SetEngineContact(
+        MPsetCallWaiting& aEngineContact )
+{   
+    DPRINT << "aEngineContact: " << &aEngineContact;
+}
+
+// End of File.