diff -r 7d48bed6ce0c -r 987c9837762f vmbx/vmbxcpplugin/src/vmbxuiengine.cpp --- a/vmbx/vmbxcpplugin/src/vmbxuiengine.cpp Tue Aug 31 15:45:17 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,337 +0,0 @@ -/* - * Copyright (c) 2009 - 2010 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: - * - */ - -// System includes -#include -#include - -// User includes -#include "vmbxuiengine.h" -#include "loggerutil.h" - -/*! - Constructor -*/ -VmbxUiEngine::VmbxUiEngine() : mVmbxEngine(NULL), - mCsVoiceNumber(""),mCsVideoNumber("") -{ - _DBGLOG("VmbxUiEngine::VmbxUiEngine >") - QT_TRAP_THROWING(mVmbxEngine = CVoiceMailbox::NewL()); - init(); - _DBGLOG("VmbxUiEngine::VmbxUiEngine <") -} - -/*! - Destructor -*/ -VmbxUiEngine::~VmbxUiEngine() -{ - _DBGLOG( "VmbxUiEngine::~VmbxUiEngine >") - mVmbxEngine->NotifyVmbxNumberChangeCancel(); - delete mVmbxEngine; - mVmbxEngine = NULL; - _DBGLOG( "VmbxUiEngine::~VmbxUiEngine <") -} - -/*! - Initialize vmbx ui engine. -*/ -void VmbxUiEngine::init() -{ - _DBGLOG("VmbxUiEngine::init >") - // Init voice primary line number - getCsVoicePrimaryNumber(mCsVoiceNumber); - // Init video primary line nubmer - if (isVideoSupport()) { - getCsVideoPrimaryNumber(mCsVideoNumber); - } - _DBGLOG("VmbxUiEngine::init <") -} - -/*! - Getter method for primary voice number of Voice Mailbox. -*/ -void VmbxUiEngine::getCsVoiceNumber(QString &aValue) -{ - _DBGLOG("VmbxUiEngine::getCsVoiceNumber >") - aValue = mCsVoiceNumber; - _DBGLOG2("VmbxUiEngine::getCsVoiceNumber < , string=", aValue) -} - -/*! - Getter method for primary video number of Voice Mailbox. -*/ -void VmbxUiEngine::getCsVideoNumber(QString &aValue) -{ - _DBGLOG("VmbxUiEngine::getCsVideoNumber >") - aValue = mCsVideoNumber; - _DBGLOG2("VmbxUiEngine::getCsVideoNumber < , string=", aValue) -} - -/*! - Set number when cs voice number has been edited on UI. - @param aValue New value. -*/ -void VmbxUiEngine::setCsVoiceNumber(const QString &aValue) -{ - _DBGLOG2("VmbxUiEngine::setCsVoiceNumber >, value=",aValue) - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVoice; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVoice; - setNumber(vmbxParams, aValue); - mCsVoiceNumber = aValue; - _DBGLOG("VmbxUiEngine::setCsVoiceNumber <"); -} - -/*! - Set number when cs video number has been edited on UI. - @param aValue New value. -*/ -void VmbxUiEngine::setCsVideoNumber(const QString &aValue) -{ - _DBGLOG2("VmbxUiEngine::setCsVideoNumber >, value=",aValue) - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVideo; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVideo; - setNumber(vmbxParams, aValue); - mCsVideoNumber = aValue; - _DBGLOG("VmbxUiEngine::setCsVideoNumber <"); -} - -/*! - If video mailbox supported. -*/ -bool VmbxUiEngine::isVideoSupport() -{ - _DBGLOG("VmbxUiEngine::isVideoSupport >") - // video support - bool isVideoSupport(false); - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVideo; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVideo; - isVideoSupport = mVmbxEngine->CheckConfiguration(vmbxParams, - EVmbxVideoMailboxSupported); - _DBGLOG2("VmbxUiEngine::isVideoSupport ", isVideoSupport); - return isVideoSupport; -} - -/*! - If voice mailbox allow to write. -*/ -bool VmbxUiEngine::isVoiceWritable() -{ - _DBGLOG("VmbxUiEngine::isVoiceWritable >") - bool isVoiceWritable(false); - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVoice; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVoice; - isVoiceWritable = mVmbxEngine->CheckConfiguration(vmbxParams, - EVmbxChangeNbrAllowedOnUi); - _DBGLOG2("VmbxUiEngine::isVoiceWritable <", isVoiceWritable); - return isVoiceWritable; -} - -/*! - If video mailbox allow to write. -*/ -bool VmbxUiEngine::isVideoWritable() -{ - _DBGLOG( "VmbxUiEngine::isVideoWritable >") - bool isVideoWritable(false); - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVideo; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVideo; - isVideoWritable = mVmbxEngine->CheckConfiguration(vmbxParams, - EVmbxChangeNbrAllowedOnUi); - _DBGLOG2("VmbxUiEngine::isVoiceWritable >", isVideoWritable); - return isVideoWritable; -} - -/*! - queryVoiceNumber -*/ -int VmbxUiEngine::queryVoiceNumber(QString &aValue) -{ - _DBGLOG2("VmbxUiEngine::queryVoiceNumber >, value=",aValue) - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVoice; - vmbxParams.iServiceId = KVmbxServiceVoice; - int result = queryNumber(vmbxParams, aValue); - _DBGLOG2("VmbxUiEngine::queryVoiceNumber <, value=", aValue) - return result; -} - -/*! - queryVideoNumber -*/ -int VmbxUiEngine::queryVideoNumber(QString &aValue) -{ - _DBGLOG2("VmbxUiEngine::queryVideoNumber >, value=", aValue) - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVideo; - vmbxParams.iServiceId = KVmbxServiceVideo; - int result = queryNumber(vmbxParams, aValue); - _DBGLOG2("VmbxUiEngine::queryVideoNumber <, value=", aValue) - return result; -} - -/*! - Request notify when VMBX number changed - */ -void VmbxUiEngine::notifyVmbxNumberChange(bool aNotifyOnActiveLineOnly) -{ - _DBGLOG2("VmbxUiEngine::notifyVmbxNumberChange >, OnActiveLineOnly=", - aNotifyOnActiveLineOnly) - QT_TRAP_THROWING(mVmbxEngine->NotifyVmbxNumberChangeL - (*this, aNotifyOnActiveLineOnly)); - _DBGLOG2("VmbxUiEngine::notifyVmbxNumberChange <, OnActiveLineOnly=", - aNotifyOnActiveLineOnly) -} - -/*! - Callback from voice mailbox engine when number has been updated - This method notifies the UI to refresh its data. -*/ -void VmbxUiEngine::HandleNotifyL(const CVoiceMailboxEntry &aVmbxEntry) -{ - _DBGLOG( "VmbxUiEngine::HandleNotifyL >") - TVmbxType type = aVmbxEntry.VoiceMailboxType(); - TPtrC number(KNullDesC); - aVmbxEntry.GetVmbxNumber(number); - if (EVmbxVoice == type) { - mCsVoiceNumber = QString::fromUtf16(number.Ptr(), number.Length()); - } else if (EVmbxVideo == type) { - mCsVideoNumber = QString::fromUtf16(number.Ptr(), number.Length()); - } - emit voiceMailboxEngineEntriesUpdated(type); - _DBGLOG( "VmbxUiEngine::HandleNotifyL <") -} - -/*! - Getter method for primary voice number of Voice Mailbox. -*/ -void VmbxUiEngine::getCsVoicePrimaryNumber(QString &aValue) -{ - _DBGLOG("VmbxUiEngine::getCsVoicePrimaryNumber >") - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVoice; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVoice; - getNumber(vmbxParams, aValue); - _DBGLOG2("VmbxUiEngine::getCsVoicePrimaryNumber < , string=", aValue) -} - -/*! - Getter method for primary video number of Voice Mailbox. -*/ -void VmbxUiEngine::getCsVideoPrimaryNumber(QString &aValue) -{ - _DBGLOG("VmbxUiEngine::getCsVideoPrimaryNumber >") - TVoiceMailboxParams vmbxParams; - vmbxParams.iType = EVmbxVideo; - vmbxParams.iLineType = EVmbxAlsLine1; - vmbxParams.iServiceId = KVmbxServiceVideo; - getNumber(vmbxParams, aValue); - _DBGLOG2("VmbxUiEngine::getCsVideoPrimaryNumber < , string=", aValue) -} - -/*! - Private getter method for voice mailbox number. -*/ -void VmbxUiEngine::getNumber(const TVoiceMailboxParams &aParam, - QString &aValue) -{ - _DBGLOG("VmbxUiEngine::getNumber >") - CVoiceMailboxEntry* vmbxEntry = NULL; - TInt result = mVmbxEngine->GetStoredEntry( aParam, vmbxEntry ); - _DBGLOG2("VmbxUiEngine::getNumber, GetStoredEntry result=", result); - if ( KErrNone == result && vmbxEntry ){ - TPtrC entryNumber( KNullDesC ); - result = vmbxEntry->GetVmbxNumber( entryNumber ); - _DBGLOG3("VmbxUiEngine::getNumber, GetVmbxNumber result=", - result, - " but ignore code and allow returning of an empty string to UI"); - aValue = QString::fromUtf16(entryNumber.Ptr(), entryNumber.Length()); - } - delete vmbxEntry; - vmbxEntry = NULL; - _DBGLOG2("VmbxUiEngine::getNumber < , string=", aValue) -} - -/*! - Setter method for voice mailbox number. -*/ -void VmbxUiEngine::setNumber(const TVoiceMailboxParams &aParam, - const QString &aValue) -{ - _DBGLOG("VmbxUiEngine::setNumber >") - - CVoiceMailboxEntry* vmbxEntry = NULL; - QT_TRAP_THROWING(vmbxEntry = CVoiceMailboxEntry::NewL()); - vmbxEntry->SetServiceId(aParam.iServiceId); - vmbxEntry->SetVoiceMailboxType(aParam.iType); - vmbxEntry->SetVmbxAlsLineType(aParam.iLineType); - _DBGLOG2("VmbxUiEngine::setNumber, SetVmbxNumber aValue=", aValue); - _DBGLOG( "VmbxUiEngine::setNumber: cast to TPtrC") - TPtrC newNumber( - reinterpret_cast( aValue.utf16() ), - aValue.length() ); - int result = vmbxEntry->SetVmbxNumber( newNumber ); - if ( KErrNone == result ) { - result = mVmbxEngine->SaveEntry( *vmbxEntry ); - _DBGLOG2("VmbxUiEngine::setNumber, SaveEntry result=", result); - } - delete vmbxEntry; - vmbxEntry = 0; - _DBGLOG("VmbxUiEngine::setNumber <"); -} - -/*! - Query method for voice mailbox number. -*/ -int VmbxUiEngine::queryNumber(const TVoiceMailboxParams &aParam, - QString &aValue) -{ - _DBGLOG2("VmbxUiEngine::queryNumber >, value=", aValue) - getNumber(aParam, aValue); - CVoiceMailboxEntry *vmbxEntry = NULL; - int result(0); - if (aValue.length() > 0) { - result = mVmbxEngine->QueryChangeEntry(aParam, vmbxEntry); - } else { - result = mVmbxEngine->QueryNewEntry(aParam, vmbxEntry); - } - if (KErrNone == result && vmbxEntry) { - TPtrC entryNumber(KNullDesC); - result = vmbxEntry->GetVmbxNumber(entryNumber); - _DBGLOG3("VmbxUiEngine::queryNumber, GetVmbxNumber result=", - result, - " but ignore code and allow returing of an empty string to UI"); - aValue = QString::fromUtf16(entryNumber.Ptr(), entryNumber.Length()); - } - delete vmbxEntry; - vmbxEntry = NULL; - _DBGLOG2("VmbxUiEngine::queryNumber <, value=", aValue) - return result; -} - -//End of file