satengine/SatServer/SatInternalClient/src/CSatCGetInputHandler.cpp
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/satengine/SatServer/SatInternalClient/src/CSatCGetInputHandler.cpp	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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:  This is the handler for the SIM Application Toolkit
-*                Get Input proactive command.
-*
-*/
-
-
-#include    <e32svr.h>
-#include    "RSatUiSession.h"
-#include    "MSatUiObserver.h"
-#include    "CSatCGetInputHandler.h"
-#include    "SatSOpcodes.h"
-#include    "SatSTypes.h"
-#include    "SatLog.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::CSatCGetInputHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSatCGetInputHandler::CSatCGetInputHandler(
-    TInt aPriority,
-    RSatUiSession* aSession ) :
-    CActive( aPriority ),
-    iSession( aSession ),
-    iGetInputData(),
-    iGetInputPckg( iGetInputData ),
-    iGetInputRsp(),
-    iGetInputRspPckg( iGetInputRsp )
-    {
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::CSatCGetInputHandler calling" )
-
-    // Add to active scheduler.
-    CActiveScheduler::Add( this );
-
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::CSatCGetInputHandler exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSatCGetInputHandler* CSatCGetInputHandler::NewL(
-    RSatUiSession* aSat )
-    {
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::NewL calling" )
-
-    // Perform construction.
-    CSatCGetInputHandler* self =
-        new ( ELeave ) CSatCGetInputHandler( EPriorityLow, aSat );
-
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::NewL exiting" )
-    return self;
-    }
-
-// Class destructor.
-CSatCGetInputHandler::~CSatCGetInputHandler()
-    {
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::~CSatCGetInputHandler calling" )
-
-    // Cancel any outstanding requests.
-    Cancel();
-
-    iSession = NULL;
-
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::~CSatCGetInputHandler exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::Start
-// Starts the handler.
-// -----------------------------------------------------------------------------
-//
-void CSatCGetInputHandler::Start()
-    {
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::Start calling" )
-
-    // Empty the IPC data
-    RSat::TGetInputV1 temp;
-    iGetInputData = temp;
-    RSat::TGetInputRspV1 temp2;
-    iGetInputRsp = temp2;
-
-    // Request Get Input notification.
-    TIpcArgs arguments( &iGetInputPckg );
-
-    // Pass the Get Input IPC package.
-    iSession->CreateRequest( ESatSProactiveGetInput, arguments, iStatus );
-
-    // Set this handler to active so that it can receive requests.
-    SetActive();
-
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::Start exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::ConvertCharacterSet
-// Converts USAT character set to SAT character set type.
-// -----------------------------------------------------------------------------
-//
-TSatCharacterSet CSatCGetInputHandler::ConvertCharacterSet(
-    const RSat::TGetInputRspFormat& aCharacterSet ) const
-    {
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::ConvertCharacterSet calling" )
-
-    TSatCharacterSet charSet( ESatCharSmsDefaultAlphabet );
-    
-    LOG2( SIMPLE,
-    "SATINTERNALCLIENT: CSatCGetInputHandler::ConvertCharacterSet aCharacterSet: %d",
-    aCharacterSet )
-    
-    if ( ( RSat::EDigitOnlyUnpacked == aCharacterSet ) ||
-         ( RSat::EDigitOnlyPacked == aCharacterSet ) )
-        {        
-        charSet = ESatDigitOnly;
-        }
-    else if ( aCharacterSet == RSat::EUcs2Alphabet )
-        {       
-        charSet = ESatCharUcs2Alphabet;
-        }
-    else
-        {        
-        charSet = ESatCharSmsDefaultAlphabet;
-        }
-
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::ConvertCharacterSet exiting" )
-    return charSet;
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::RunL
-// Handles the command.
-// -----------------------------------------------------------------------------
-//
-void CSatCGetInputHandler::RunL()
-    {
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::RunL calling" )
-
-    // Check the status of the asnychronous operation
-    if ( KErrNone != iStatus.Int() )
-        {
-        LOG2(
-            SIMPLE,
-            "SATINTERNALCLIENT: CSatCGetInputHandler::RunL exiting, error: %d",
-            iStatus.Int() )
-
-        // Renew the request
-        Start();
-
-        return;
-        }
-
-    // Determine the character set.
-    const TSatCharacterSet characterSet(
-        ConvertCharacterSet( iGetInputData.iRspFormat ) );
-
-    // Determine whether user input should be hidden or not.
-    TBool hideInput( EFalse );
-    if ( RSat::EHideUserInput == iGetInputData.iInputDisplayOption )
-        {
-        LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::RunL EHideUserInput" )
-        hideInput = ETrue;
-        }
-
-    // This will contain user input.
-    TBuf<KSatGetInputEntrySize> inputText( iGetInputData.iDefaultText );
-
-    // Indicates whether help is available
-    TBool helpIsAvailable( EFalse );
-    if ( RSat::EHelpAvailable == iGetInputData.iHelp )
-        {
-        LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::RunL EHelpAvailable" )
-        helpIsAvailable = ETrue;
-        }
-
-    // Has to be casted to TInt before casting to TSatIconQualifier, because
-    // GCC warns about the direct cast.
-    const struct TSatIconId iconId = { iGetInputData.iIconId.iIdentifier,
-        static_cast<TSatIconQualifier>(
-            static_cast<TInt>( iGetInputData.iIconId.iQualifier ) ) };
-
-    // This will contain EFalse if requested icon is not displayed.
-    // And if icon is displayed, it contains ETrue.
-    TBool requestedIconDisplayed( EFalse );
-
-    // Notify the registered client and save the response.
-    TSatUiResponse response = iSession->SatUiObserver()->GetInputL(
-        iGetInputData.iText,
-        characterSet, inputText, iGetInputData.iRspLength.iMinRspLength,
-        iGetInputData.iRspLength.iMaxRspLength, hideInput,
-        helpIsAvailable, iconId, requestedIconDisplayed );
-
-    // Use the same format in the response as it is in the input.
-    iGetInputRsp.iRspFormat = iGetInputData.iRspFormat;
-
-    // By default, this command does not have additional information.
-    iGetInputRsp.iInfoType = RSat::KNoAdditionalInfo;
-    iGetInputRsp.iAdditionalInfo.Zero();
-
-    iGetInputRsp.SetPCmdNumber( iGetInputData.PCmdNumber() );
-
-    // Examine the client response.
-    ExamineClientResponse(
-        response, inputText, requestedIconDisplayed );
-
-    // Pass the Get Input response package.
-    TIpcArgs arguments( &iGetInputRspPckg );
-
-    // Perform the IPC data transfer.
-    iSession->CreateRequest( ESatSProactiveGetInputResponse, arguments );
-
-    // Renew the service request.
-    Start();
-
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::RunL exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::ExamineClientResponse
-// Examine the client response.
-// -----------------------------------------------------------------------------
-//
-void CSatCGetInputHandler::ExamineClientResponse(
-    TSatUiResponse aResponse,
-    const TDes& aInputText,
-    TBool aRequestedIconDisplayed )
-    {
-    LOG2( SIMPLE,
-    "SATINTERNALCLIENT: CSatCGetInputHandler::ExamineClientResponse calling,\
-    aResponse: %d", aResponse )
-
-    // Examine the client response.
-    switch ( aResponse )
-        {
-        case ESatSuccess:
-            {
-
-            // Convert terminal rsp if icon used
-            RSat::TPCmdResult result( RSat::KSuccess );
-            RSat::TIconQualifier iconQualifier(
-                iGetInputData.iIconId.iQualifier );
-
-                if ( !aRequestedIconDisplayed )
-                {
-                LOG( SIMPLE,
-                "SATINTERNALCLIENT: CSatCGetInputHandler::ExamineClientResponse \
-                aRequestedIconDisplayed false" )
-                if ( iconQualifier == RSat::ESelfExplanatory ||
-                     iconQualifier == RSat::ENotSelfExplanatory )
-                    {
-                    LOG( SIMPLE,
-                    "SATINTERNALCLIENT: CSatCGetInputHandler::ExamineClientResponse \
-                    IconNotDisplayed" )
-                    result = RSat::KSuccessRequestedIconNotDisplayed;
-                    }
-                }
-
-            iGetInputRsp.iGeneralResult = result;
-            LOG2( SIMPLE,
-            "SATINTERNALCLIENT: CSatCGetInputHandler::ExamineClientResponse length \
-            of aInputText: %d", aInputText.Length() )
-            // Change the additional information type
-            if ( aInputText.Length() > 0 )
-                {
-                iGetInputRsp.iInfoType = RSat::KTextString;
-
-                // Save the character input by the user
-                iGetInputRsp.iAdditionalInfo.Append( aInputText );
-                }
-            break;
-            }
-
-        // Otherwise, just return the response.
-        case ESatFailure:
-            {
-            iGetInputRsp.iInfoType = RSat::KMeProblem;
-            iGetInputRsp.iGeneralResult = RSat::KMeUnableToProcessCmd;
-            iGetInputRsp.iAdditionalInfo.SetLength( 1 );
-            iGetInputRsp.iAdditionalInfo[0] = RSat::KNoSpecificMeProblem;
-            break;
-            }
-
-        case ESatSessionTerminatedByUser:
-            {
-            iGetInputRsp.iGeneralResult = RSat::KPSessionTerminatedByUser;
-            break;
-            }
-
-        case ESatBackwardModeRequestedByUser:
-            {
-            iGetInputRsp.iGeneralResult =
-                RSat::KBackwardModeRequestedByUser;
-            break;
-            }
-
-        case ESatNoResponseFromUser:
-            {
-            iGetInputRsp.iGeneralResult = RSat::KNoResponseFromUser;
-            break;
-            }
-
-        case EHelpRequestedByUser:
-            {
-            iGetInputRsp.iGeneralResult = RSat::KHelpRequestedByUser;
-            break;
-            }
-
-        case EPCmdNotAcceptedByUser:
-        case ESatCmdDataNotUnderstood:
-        default:
-            {
-            iSession->Panic( ESatInvalidResponse );
-            break;
-            }
-        }
-
-    LOG( SIMPLE,
-        "SATINTERNALCLIENT: CSatCGetInputHandler::ExamineClientResponse exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSatCGetInputHandler::DoCancel
-// Cancels the pending request.
-// -----------------------------------------------------------------------------
-//
-void CSatCGetInputHandler::DoCancel()
-    {
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::DoCancel calling" )
-
-    // Complete the request with cancel code.
-    TRequestStatus* requestStatus = &iStatus;
-    User::RequestComplete( requestStatus, KErrCancel );
-
-    LOG( SIMPLE, "SATINTERNALCLIENT: CSatCGetInputHandler::DoCancel exiting" )
-    }