satui/satapp/src/satappserverdispatcher.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
--- a/satui/satapp/src/satappserverdispatcher.cpp	Tue Aug 31 15:45:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,586 +0,0 @@
-/*
-* Copyright (c) 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: Receives UI commands from SAT server and converts to QT
-*
-*/
-
-// qt
-#include <QStringList>
-#include <qglobal.h>
-#include <QCoreApplication>
-// symbian
-#include <centralrepository.h>
-#include <ProfileEngineSDKCRKeys.h>
-
-// sat
-#include <msatuiadapter.h>
-#include "satappserverdispatcher.h"
-#include "satappaction.h"
-#include "satappconstant.h"
-
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::SatAppServerDispatcher
-// ----------------------------------------------------------------------------
-//
-SatAppServerDispatcher::SatAppServerDispatcher(QObject *parent) :
-    QObject(parent)
-{
-    qDebug("SATAPP: SatAppServerDispatcher::SatAppServerDispatcher");
-    QT_TRAP_THROWING(ConnectSatSessionL());
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::~SatAppServerDispatcher
-// ----------------------------------------------------------------------------
-//
-SatAppServerDispatcher::~SatAppServerDispatcher()
-{
-    qDebug("SATAPP: SatAppServerDispatcher::~SatAppServerDispatcher");
-    DisconnectSatSession();
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::menuSelection
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::menuSelection(SatAppAction* action)
-{
-    qDebug("SATAPP: SatAppServerDispatcher::menuSelection >");
-    if ( ESatSuccess == action->response() ) {
-        // user selected item from menu
-        int menuItem = action->value(KeySelection).toInt();
-        int helpRequested = action->value(KeyHelpRequested).toBool();
-        qDebug("SATAPP: SatAppServerDispatcher::MenuSelection item=%d",
-            menuItem);
-        iSat.Adapter()->MenuSelection(menuItem, helpRequested);
-    } else if (ESatSessionTerminatedByUser == action->response()) {
-        // session terminated while executing the menu action
-        qDebug("SATAPP: SatAppServerDispatcher::SessionTerminated");
-        iSat.Adapter()->SessionTerminated(EEndKeyUsed);
-    }
-    delete action;
-    qDebug("SATAPP: SatAppServerDispatcher::menuSelection <");
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::userCancelResponse
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::userCancelSession(SatAppAction* action)
-{
-    qDebug("SATAPP: SatAppServerDispatcher::userCancelSession");
-    if (action && ESatBackwardModeRequestedByUser == action->response()){
-        iSat.Adapter()->SessionTerminated(ESessionCancel);
-    }    
-    delete action;
-    action = 0;
-}
-
-
-// ****************************************************************************
-// * ************************************************************************ *
-// * *                          SYMBIAN PART                                * *
-// * ************************************************************************ *
-// ****************************************************************************
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::ConnectSatSessionL
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::ConnectSatSessionL()
-{
-    qDebug("SATAPP: SatAppServerDispatcher::ConnectSatSessionL>");
-    //Register to Server as subsession
-    //If Server is not up, this function call may take time
-    iSatSession.ConnectL();
-    iSat.RegisterL(iSatSession, this);
-    if (!iSat.Adapter())
-        User::Leave(KErrNotFound);
-    qDebug("SATAPP: SatAppServerDispatcher::ConnectSatSessionL<");
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::DisconnectSatSession
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::DisconnectSatSession()
-{
-    qDebug("SATAPP: SatAppServerDispatcher::DisconnectSatSession>");
-    iSat.Close();
-    iSatSession.Close();
-    qDebug("SATAPP: SatAppServerDispatcher::DisconnectSatSession<");
-}
-
-// ----------------------------------------------------------------------------
-// My own quick string -> descriptor conversion function :-)
-// ----------------------------------------------------------------------------
-//
-void s2d(const QString str, TDes& desc)
-{
-    desc.Copy(reinterpret_cast<const TUint16*>(str.utf16()), str.length());
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::DisplayTextL
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::DisplayTextL( const TDesC& aText,
-    const TDesC& aSimApplicationName,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    const TBool aSustainedText,
-    const TTimeIntervalSeconds aDuration,
-    const TBool aWaitUserToClear )
-{
-    qDebug("SATAPP: SatAppServerDispatcher::DisplayTextL >");
-    Q_UNUSED(aIconId);
-    SatAppAction action(ESatDisplayTextAction);
-    // validate
-    if (aText.Length()== 0 || aText.Length()>RSat::KTextToDisplayMaxSize){
-        qDebug("SATAPP: SatAppServerDispatcher::DisplayText no text");
-        aRequestedIconDisplayed = EFalse;
-        return ESatFailure;
-    }
-
-    QT_TRYCATCH_LEAVING(
-        // ensure state
-        emit stopShowWaitNote();
-
-        // call
-        action.set(KeyText,aText);
-        action.set(KeyApplicationName, aSimApplicationName);
-        action.set(KeySustainedText, aSustainedText);
-        action.set(KeyDuration, const_cast<TTimeIntervalSeconds &>(aDuration));
-        action.set(KeyWaitUserToClear, aWaitUserToClear);
-
-        emit displayText(action);
-        action.waitUntilCompleted();
-    );
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::DisplayTextL action.response() %x<", 
-        action.response());
-    return action.response();
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::GetInkeyL
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::GetInkeyL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TChar& aInput,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    TUint& aDuration,
-    const TBool aImmediateDigitResponse )
-{
-    Q_UNUSED(aHelpIsAvailable);
-    Q_UNUSED(aIconId);
-    
-    qDebug("SATAPP: SatAppServerDispatcher::GetInkeyL >");
-
-    // validate
-    aRequestedIconDisplayed = EFalse;
-    if (ESatYesNo == aCharacterSet && aText.Length() == 0) {
-        qDebug("SATAPP: CSatUiObserver::GetInkey return ESatFailure");
-        return ESatFailure;
-    }
-
-    SatAppAction action(ESatGetInkeyAction);
-    QT_TRYCATCH_LEAVING(
-        // ensure state
-        emit stopShowWaitNote();
-
-        // call
-        action.set(KeyText,aText);
-        action.set(KeyCharacterSet,(int)aCharacterSet);
-        action.set(KeyInKey,(int)aInput);
-        // convert from SAT time units(?) to milliseconds
-        action.set(KeyDuration,(int)aDuration*KSymbianTimeConvertQtTime);
-        action.set(KeyImmediate,(bool)aImmediateDigitResponse);
-        emit getInkey(action);
-        action.waitUntilCompleted();
-        // convert from milliseconds to SAT time units(?)
-        aDuration = 
-                action.value(KeyDuration).toInt()/KSymbianTimeConvertQtTime;
-        aInput = action.value(KeyInKey).toInt();
-    );
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::GetInkeyL <");
-    return action.response();
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::GetInputL
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::GetInputL(
-    const TDesC& aText,
-    const TSatCharacterSet aCharacterSet,
-    TDes& aInput,
-    const TInt aMinLength,
-    const TInt aMaxLength,
-    const TBool aHideInput,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed )
-{
-    Q_UNUSED(aHelpIsAvailable);
-    Q_UNUSED(aIconId);
-    qDebug("SATAPP: SatAppServerDispatcher::GetInputL >");
-
-    // validate
-    aRequestedIconDisplayed = EFalse;
-    if ((aCharacterSet == ESatCharSmsDefaultAlphabet ||
-         aCharacterSet == ESatCharUcs2Alphabet) &&
-         aHideInput) {
-        qDebug("SATAPP: SatAppServerDispatcher::GetInput return ESatFailure");
-        return ESatFailure;
-    }
-
-    SatAppAction action(ESatGetInputAction);
-    QT_TRYCATCH_LEAVING(
-        // ensure state
-        emit stopShowWaitNote();
-    
-        // call
-        action.set(KeyText,aText);
-        action.set(KeyCharacterSet,(int)aCharacterSet);
-        action.set(KeyInputString,aInput);
-        action.set(KeyMinLength,aMinLength);
-        action.set(KeyMaxLength,aMaxLength);
-        action.set(KeyHideInput,(bool)aHideInput);
-        emit getInput(action);
-        action.waitUntilCompleted();
-        s2d(action.value(KeyInputString).toString(), aInput);
-    )
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::GetInputL <");
-    return action.response();
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::SetUpMenuL
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::SetUpMenuL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    const CArrayFixFlat<TInt>* aMenuIcons,
-    const enum TSatIconQualifier aIconListQualifier,
-    const enum TSatSelectionPreference aSelectionPreference )
-{
-    Q_UNUSED(aMenuItemNextActions);
-    Q_UNUSED(aHelpIsAvailable);
-    Q_UNUSED(aIconId);
-    Q_UNUSED(aMenuIcons);
-    Q_UNUSED(aIconListQualifier);
-    Q_UNUSED(aSelectionPreference);
-    qDebug("SATAPP: SatAppServerDispatcher::SetUpMenuL >");
-
-    QT_TRYCATCH_LEAVING(
-
-        // validate
-        if (!aMenuItems.MdcaCount()) {
-            emit clearScreen();
-            QCoreApplication::instance()->quit();
-            return ESatSuccess;
-        }
-
-        // ensure state
-        emit stopShowWaitNote();
-    
-        // call
-        SatAppAction* action = new SatAppAction(ESatSetUpMenuAction, this);
-        action->set(KeyText,aText);
-        action->set(KeyMenu,aMenuItems);
-        // connect for asynchronous menu selection
-        connect(
-            action,SIGNAL(actionCompleted(SatAppAction*)),
-            this,SLOT(menuSelection(SatAppAction*)));
-        
-        emit setUpMenu(*action);
-    )
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::SetUpMenuL <");
-    return ESatSuccess;
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::SelectItemL
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::SelectItemL(
-    const TDesC& aText,
-    const MDesCArray& aMenuItems,
-    const CArrayFixFlat<TSatAction>* aMenuItemNextActions,
-    const TInt aDefaultItem,
-    TUint8& aSelection,
-    const TBool aHelpIsAvailable,
-    const TSatIconId& aIconId,
-    const CArrayFixFlat<TInt>* aMenuIcons,
-    const enum TSatIconQualifier aIconListQualifier,
-    TBool& aRequestedIconDisplayed,
-    const enum TSatSelectionPreference aSelectionPreference )
-{
-    Q_UNUSED(aMenuItemNextActions);
-    Q_UNUSED(aHelpIsAvailable);
-    Q_UNUSED(aIconId);
-    Q_UNUSED(aMenuIcons);
-    Q_UNUSED(aIconListQualifier);
-    Q_UNUSED(aRequestedIconDisplayed);
-    Q_UNUSED(aSelectionPreference);
-    TSatUiResponse resp(ESatFailure);
-    SatAppAction action(ESatSelectItemAction);
-    qDebug("SATAPP: SatAppServerDispatcher::SelectItemL >");
-
-    QT_TRYCATCH_LEAVING(
-        // ensure state
-        emit stopShowWaitNote();
-    
-        // call
-        action.set(KeyText,aText);
-        action.set(KeyMenu,aMenuItems);
-        action.set(KeyDefault,aDefaultItem);
-        emit selectItem(action);
-        action.waitUntilCompleted();
-        resp = action.response();
-        if ( ESatSuccess == resp ) {
-            aSelection = static_cast<TUint8>(
-                    action.value(KeySelection).toInt());
-        }
-    )
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::SelectItemL <");
-    return resp;
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::PlayTone
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::PlayTone(
-    const TDesC& aText,
-    const TSatTone aTone,
-    const TTimeIntervalMicroSeconds aDuration,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed )
-{
-    Q_UNUSED(aIconId);
-    aRequestedIconDisplayed = EFalse;
-    TSatUiResponse resp(ESatSuccess);
-    qDebug("SATAPP: SatAppServerDispatcher::PlayTone >");
-    SatAppAction action(ESatPlayToneAction);
-    int err(KErrNone);
-    QT_TRYCATCH_ERROR(
-        err,
-        // ensure state
-        emit stopShowWaitNote();
-    
-        // call
-        action.set(KeyText,aText);
-        action.set(KeyToneId,aTone);
-        action.set(KeyDuration, const_cast<TTimeIntervalMicroSeconds &>(aDuration));
-        emit playTone(action);
-        action.waitUntilCompleted();
-        resp = action.response();
-    )
-
-    // return
-    qDebug("SATAPP: SatAppServerDispatcher::PlayTone err = %d<", err);
-    return resp;
-}
-
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::ConfirmCommand
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::ConfirmCommand(
-    const TSatSQueryCommand aCommandId,
-    const TSatAlphaIdStatus aAlphaIdStatus,
-    const TDesC& aText,
-    const TDesC& aAdditionalText,
-    TBool& aActionAccepted,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    TBool& aTerminatedByUser )
-{
-    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand >");
-    Q_UNUSED(aIconId);
-    aRequestedIconDisplayed = EFalse;
-    aTerminatedByUser = EFalse;
-    //ConfirmAction
-    SatAppAction action(ESatConfirmAction);
-    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand");
-    int err(KErrNone);
-    QT_TRYCATCH_ERROR(
-        err,
-        emit stopShowWaitNote();
-    
-        action.set(KeyQueryCommandId, aCommandId);
-        action.set(KeyAlphaIdStatus, aAlphaIdStatus);
-        action.set(KeyText, aText);
-        action.set(KeyAdditionalText, aAdditionalText);
-        action.set(KeyActionAccepted, aActionAccepted);
-
-        emit confirmCommand(action);
-        action.waitUntilCompleted();
-        if (ESatSuccess == action.response() ) {
-            aActionAccepted = ETrue;
-        }
-    )
-    qDebug("SATAPP: SatAppServerDispatcher::ConfirmCommand err = %d <", err);
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::Notification
-// ----------------------------------------------------------------------------
-//
-TSatUiResponse SatAppServerDispatcher::Notification(
-    const TSatSNotifyCommand aCommandId,
-    const TSatAlphaIdStatus aAlphaIdStatus,
-    const TDesC& aText,
-    const TSatIconId& aIconId,
-    TBool& aRequestedIconDisplayed,
-    const TSatControlResult aControlResult )
-{
-    Q_UNUSED(aIconId);
-    Q_UNUSED(aRequestedIconDisplayed);
-    qDebug("SATAPP: SatAppServerDispatcher::Notification command id=%d",
-        aCommandId);
-
-    TSatUiResponse res(ESatFailure);
-    int err(KErrNone);
-    switch (aCommandId)
-    {
-        // With cancel
-        case ESatSSendDataNotify:    // fall through
-        case ESatSReceiveDataNotify: // fall through
-        case ESatSSendDtmfNotify:    // fall through
-        {
-            QT_TRYCATCH_ERROR(
-                err,
-                emit stopShowWaitNote();
-                SatAppAction *action = new SatAppAction(ESatNotifyAction, this);
-                action->set(KeyText, aText);
-                action->set(KeyCommandId, aCommandId);
-                action->set(KeyAlphaIdStatus, aAlphaIdStatus);
-                action->set(KeyControlResult, aControlResult);
-                // connect for asynchronous menu selection
-                connect(
-                    action,SIGNAL(actionCompleted(SatAppAction*)),
-                    this,SLOT(userCancelSession(SatAppAction*)));
-                emit notification(*action);
-                res = ESatSuccess;
-            )
-            break;
-        }
-        // Without cancel
-        case ESatSMoSmControlNotify:  // fall through
-        case ESatSCallControlNotify:  // fall through 
-        case ESatSSendUssdNotify:     // fall through 
-        case ESatSSendSsNotify:       // fall through
-        case ESatSSendSmsNotify:      // fall through
-        case ESatSCloseChannelNotify: // fall through
-        {
-            QT_TRYCATCH_ERROR(
-                err,
-                emit stopShowWaitNote();
-                SatAppAction a(ESatNotifyAction);
-                a.set(KeyText, aText);
-                a.set(KeyCommandId, aCommandId);
-                a.set(KeyAlphaIdStatus, aAlphaIdStatus);
-                a.set(KeyControlResult, aControlResult);
-                emit notification(a);
-                res = ESatSuccess;
-            )
-            break;
-        }
-        default:
-        {
-            break;
-        }
-    }
-    qDebug("SATAPP: SatAppServerDispatcher::Notification < ret=%d", err);
-    return res;
-}
-
-// ----------------------------------------------------------------------------
-// SatAppServerDispatcher::EventNotification
-// ----------------------------------------------------------------------------
-//
-void SatAppServerDispatcher::EventNotification(
-    const TSatSEvent aEventId,
-    const TSatSEventStatus aEventStatus,
-    const TInt aError )
-{
-    qDebug( "SATAPP: SatAppServerDispatcher::EventNotification aEventId %d", 
-        aEventId );
-    Q_UNUSED(aEventStatus);
-    Q_UNUSED(aError);
-    int err(KErrNone);
-
-    QT_TRYCATCH_ERROR( err,
-    switch ( aEventId )
-        {
-        case ESatSSmEndEvent:
-        case ESatSsEndEvent:
-        case ESatSDtmfEndEvent:
-            {
-            emit stopShowWaitNote();
-            break;
-            }
-        case ESatSClearScreenEvent:
-            {
-            qDebug("SATAPP: ClearScreen event");
-            emit clearScreen();
-            break;
-            }
-       case ESatSsErrorEvent:
-            {
-            qDebug("SATAPP: Notifying Ss error" );
-            // If error occurred (and Alpha ID provided), notify user
-            emit showSsErrorNote();
-            break;
-            }
-        case ESatSCloseSatUiAppEvent:
-            {
-            qDebug(" Close UI event" );
-            emit clearScreen();
-            QCoreApplication::instance()->quit();
-            break;
-            }
-        default:
-            {
-            qDebug("SATAPP: Unknown event occured: %i", aEventId);
-            break;
-            }
-        }
-    ) // end QT_TRYCATCH_ERROR
-    qDebug("SATAPP: SatAppServerDispatcher::EventNotification err = %d<", err);
-}
-
-//End of file