satui/satapp/inc/satappserverdispatcher.h
author hgs
Wed, 21 Jul 2010 18:26:52 +0300
changeset 33 8d5d7fcf9b59
child 35 6aefa3341fcc
permissions -rw-r--r--
201027

/*
* 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
*
*/

#ifndef SATAPPSERVERDISPATCHER_H
#define SATAPPSERVERDISPATCHER_H

#include <QObject>
#include <msatuiobserver.h>
#include <rsatuisession.h>
#include <rsatsession.h>

// forward declarations
class SatAppAction;

class SatAppServerDispatcher: public QObject, public MSatUiObserver
{
    Q_OBJECT

public:

    SatAppServerDispatcher(QObject *parent = 0);

    virtual ~SatAppServerDispatcher();

signals:

    /** signal request to display a menu */
    void setUpMenu(SatAppAction &action);

    /** requests a list selection menu to be displayed */
    void selectItem(SatAppAction &action);

    /** Requtes a text to be displayed to the user*/
    void displayText(SatAppAction &action);

    /** requests a key input to be displayed */
    void getInkey(SatAppAction &action);

    /** requests a string input to be displayed */
    void getInput(SatAppAction &action);

    /** Requests tone to be played */
    void playTone(SatAppAction &action);

    /** requests a confirm string to be displayed */
    void confirmCommand(SatAppAction &action);

    /** Requests an info notification or wait/status note */
    void notification(SatAppAction &action);
  
    /** requests any ongoing wait note to be dismissed */
    void stopShowWaitNote();

    /** requests all ongoing activities to be cleared on SAT UI */
    void clearScreen();

    /** requests to show ss error note*/
    void showSsErrorNote();

public slots:

     /**
     * Response to the Set Up Menu command.
     * @param aMenuItem The selected menu item.
     * @param aHelpRequested Indicates whether help was requested.
     */
    void menuSelection(SatAppAction* action);

    /**
    * User cancel response, Send DTMF, Send Data, Receive Data
    */
    void userCancelSession(SatAppAction* action);
    
    
    // ****************************************************************************
    // * ************************************************************************ *
    // * *                          SYMBIAN PART                                * *
    // * ************************************************************************ *
    // ****************************************************************************

private:
    
    void ConnectSatSessionL();
    void DisconnectSatSession();
    int ProfileState();
    
public: // from MSatUiObserver

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse DisplayTextL( const TDesC& aText,
        const TDesC& aSimApplicationName,
        const TSatIconId& aIconId,
        TBool& aRequestedIconDisplayed,
        const TBool aSustainedText,
        const TTimeIntervalSeconds aDuration,
        const TBool aWaitUserToClear );

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse GetInkeyL( const TDesC& aText,
        const TSatCharacterSet aCharacterSet, TChar& aInput,
        const TBool aHelpIsAvailable,
        const TSatIconId& aIconId,
        TBool& aRequestedIconDisplayed,
        TUint& aDuration,
        const TBool aImmediateDigitResponse );

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse 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 );

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse 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 );

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse 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 );

    /**
     * see msatuiobserver.h
     */
    TSatUiResponse PlayTone( const TDesC& aText,
        const TSatTone aTone,
        const TTimeIntervalMicroSeconds aDuration,
        const TSatIconId& aIconId,
        TBool& aRequestedIconDisplayed );

    /**
     * see msatuiobserver.h
     */
    void ConfirmCommand(
        const TSatSQueryCommand aCommandId,
        const TSatAlphaIdStatus aAlphaIdStatus,
        const TDesC& aText,
        const TDesC& aAdditionalText,
        TBool& aActionAccepted,
        const TSatIconId& aIconId,
        TBool& aRequestedIconDisplayed,
        TBool& aTerminatedByUser );

   /**
    * see msatuiobserver.h
    */
    TSatUiResponse Notification(
        const TSatSNotifyCommand aCommandId,
        const TSatAlphaIdStatus aAlphaIdStatus,
        const TDesC& aText,
        const TSatIconId& aIconId,
        TBool& aRequestedIconDisplayed,
        const TSatControlResult aControlResult );

    /**
     * see msatuiobserver.h
     */
    void EventNotification(
        const TSatSEvent aEventId,
        const TSatSEventStatus aEventStatus,
        const TInt aError );

private:
    
    RSatUiSession iSat;
    RSatSession iSatSession;

};

#endif //SATAPPSERVERDISPATCHER_H