satengine/SatServer/Commands/SetUpIdleModeTextCmd/src/CSetUpIdleModeTextHandler.cpp
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/satengine/SatServer/Commands/SetUpIdleModeTextCmd/src/CSetUpIdleModeTextHandler.cpp	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,391 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Handles SetUpIdleModeText command
-*
-*/
-
-
-#include    <e32property.h>
-#include    <centralrepository.h>
-#include    <networkhandlingdomainpskeys.h>
-#include    "SATPrivateCRKeys.h"
-#include    "MSatApi.h"
-#include    "MSatUtils.h"
-#include    "MSatUiSession.h"
-#include    "SatSOpcodes.h"
-#include    "MSatSUiClientHandler.h"
-#include    "MSatSystemState.h"
-#include    "CSetUpIdleModeTextHandler.h"
-#include    "SatLog.h"
-
-// This was agreed with Idle.
-const TInt KNoIcon = -1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::CSetUpIdleModeTextHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSetUpIdleModeTextHandler::CSetUpIdleModeTextHandler() :
-    CSatCommandHandler(),
-    iSetUpIdleModeTextData(),
-    iSetUpIdleModeTextPckg( iSetUpIdleModeTextData ),
-    iSetUpIdleModeTextRsp(),
-    iSetUpIdleModeTextRspPckg( iSetUpIdleModeTextRsp ),
-    iSimResetExecuting( EFalse ),
-    iLastValidText( KNullDesC ),
-    iLastValidIconId( KNoIcon ),
-    iLastValidIconQualifier( RSat::EIconQualifierNotSet ),
-    iHasHomezoneIndicator( 0 )
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::\
-        CSetUpIdleModeTextHandler calling - exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::ConstructL()
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::ConstructL calling" )
-
-    // Register to listen ESimReset execution.
-    iUtils->RegisterL( this, MSatUtils::ESimResetCalled );
-    iUtils->RegisterL( this, MSatUtils::ESimResetCancelled );
-    iUtils->RegisterL( this, MSatUtils::ESimInitDone );
-    // Get the homezone indicator flag from the Central Repository.
-    CRepository* repo = CRepository::NewLC( KCRUidSatServer );
-    TInt errorCode = repo->Get( KSatHomeZoneIconVisible, iHasHomezoneIndicator );
-    LOG2( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::ConstructL \
-        get homezone indicator flag and return: %d", errorCode )
-    CleanupStack::PopAndDestroy( repo );
-
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::ConstructL exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSetUpIdleModeTextHandler* CSetUpIdleModeTextHandler::NewL( MSatUtils* aUtils )
-    {
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::NewL calling" )
-
-    CSetUpIdleModeTextHandler* self = new( ELeave ) CSetUpIdleModeTextHandler;
-
-    CleanupStack::PushL( self );
-    self->BaseConstructL( aUtils );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::NewL exiting" )
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::~CSetUpIdleModeTextHandler
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CSetUpIdleModeTextHandler::~CSetUpIdleModeTextHandler()
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::~CSetUpIdleModeTextHandler calling" )
-
-    Cancel();
-
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::~CSetUpIdleModeTextHandler exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::Event
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::Event( TInt aEvent )
-    {
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::Event calling" )
-    // Check the response
-    switch ( aEvent )
-        {
-        case MSatUtils::ESimResetCalled:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                 ESimResetCalled")
-            iSimResetExecuting = ETrue;
-            }
-            //lint -fallthrough intended here
-
-        case MSatUtils::ESimInitDone:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                remove idle mode text")
-
-            // Remove the idle mode text and icon.
-            // Note no response now, responseOk remains EFalse.
-            iUtils->SystemState().WriteSetIdleModeText(
-                KNullDesC, KNoIcon, RSat::ENoIconId );
-            // Remove the homezone indicator.
-            if ( iHasHomezoneIndicator && iLastValidText.Length() )
-                {
-                TInt errorCode = RProperty::Set(
-                        KPSUidNetworkInfo,
-                        KNWHomeZoneStatus,
-                        ENWNone );
-                LOG2( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                    remove the homezone indicator and return %d", errorCode )
-                }
-            break;
-            }
-
-        case MSatUtils::ESimResetCancelled:
-            {
-            LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                ESimResetCancelled")
-
-            // Restore the idle mode text and icon.
-            // Note no response now, responseOk remains EFalse.
-            if ( iSimResetExecuting )
-                {
-                LOG( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                iSimResetExecuting true")
-                iUtils->SystemState().WriteSetIdleModeText(
-                    iLastValidText, iLastValidIconId, iLastValidIconQualifier );
-                // Restore the homezone indicator as SIM reset was cancelled.
-                if ( iHasHomezoneIndicator && iLastValidText.Length() )
-                    {
-                    TInt errorCode = RProperty::Set(
-                            KPSUidNetworkInfo,
-                            KNWHomeZoneStatus,
-                            ENWHomeZone );
-                    LOG2( NORMAL, "SETUPIDLEMODETEXT: \
-                    CSetUpIdleModeTextHandler restore the homezone indicator \
-                    and return %d", errorCode )
-                    }
-                iSimResetExecuting = EFalse;
-                }
-            break;
-            }
-
-        default:
-            {
-            CSatCommandHandler::Event( aEvent );
-            break;
-            }
-        }
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::Event exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::DoCancel
-// Cancels the sat request.
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::DoCancel()
-    {
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::DoCancel calling" )
-
-    iUtils->USatAPI().NotifySetUpIdleModeTextCancel();
-
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::DoCancel exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::IssueUSATRequest
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::IssueUSATRequest( TRequestStatus& aStatus )
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::IssueUSATRequest calling" )
-
-    // Clear the IPC package.
-    new (&iSetUpIdleModeTextData) RSat::TSetUpIdleModeTextV1();
-
-    iUtils->USatAPI().NotifySetUpIdleModeText(
-        aStatus, iSetUpIdleModeTextPckg );
-
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::IssueUSATRequest exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::CommandAllowed
-// -----------------------------------------------------------------------------
-//
-TBool CSetUpIdleModeTextHandler::CommandAllowed()
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::\
-        CommandAllowed calling" )
-    TBool commandAllowed( ETrue );
-
-    if ( ( 0 == iSetUpIdleModeTextData.iText.Length() ) &&
-         ( RSat::ENotSelfExplanatory ==
-            iSetUpIdleModeTextData.iIconId.iQualifier ||
-           RSat::ESelfExplanatory ==
-            iSetUpIdleModeTextData.iIconId.iQualifier ) )
-        {
-        iSetUpIdleModeTextRsp.iGeneralResult = RSat::KCmdDataNotUnderstood;
-        iSetUpIdleModeTextRsp.iInfoType = RSat::KNoAdditionalInfo;
-        iSetUpIdleModeTextRsp.iAdditionalInfo.Zero();
-        iSetUpIdleModeTextRsp.SetPCmdNumber(
-            iSetUpIdleModeTextData.PCmdNumber() );
-        TerminalRsp( RSat::ESetUpIdleModeText, iSetUpIdleModeTextRspPckg );
-        commandAllowed = EFalse;
-        LOG( NORMAL,
-            "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-            CommandAllowed icon received without alpha id" )
-        }
-
-    LOG2( SIMPLE, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::\
-        CommandAllowed exiting,commandAllowed: %d", commandAllowed )
-    return commandAllowed;
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::NeedUiSession
-// -----------------------------------------------------------------------------
-//
-TBool CSetUpIdleModeTextHandler::NeedUiSession()
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::NeedUiSession calling - exiting" )
-    return EFalse; // No need for UI Session.
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::HandleCommand
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::HandleCommand()
-    {
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::HandleCommand calling" )
-
-    iUtils->NotifyEvent( MSatUtils::ESetUpIdleModeTextExecuting );
-
-    // The idle mode text is not written to shared data if
-    // Sim indicates the removal of idle mode text.
-    TPtrC idleModeText( iSetUpIdleModeTextData.iText );
-    TInt iconId( iSetUpIdleModeTextData.iIconId.iIdentifier );
-
-    // Get the icon description.
-    const RSat::TIconQualifier qualifier
-        ( iSetUpIdleModeTextData.iIconId.iQualifier );
-
-    if ( RSat::ERemoveExistingIdleModeText == iSetUpIdleModeTextData.iType )
-        {
-        LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::HandleCommand \
-        ERemoveExistingIdleModeText" )
-        idleModeText.Set( KNullDesC );
-        iconId = KErrNotFound;
-        }
-    else
-        {
-        if ( ( RSat::ENoIconId == qualifier ) ||
-             ( RSat::EIconQualifierNotSet == qualifier ) )
-            {
-            LOG( SIMPLE,
-            "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::HandleCommand \
-            KErrNotFound" )
-            // Icon information not provided in command.
-            iconId = KErrNotFound;
-            }
-        }
-
-    // Write text and icon id to P&S.
-    const TInt err(
-        iUtils->SystemState().WriteSetIdleModeText(
-            idleModeText, iconId, qualifier ) );
-
-    iSetUpIdleModeTextRsp.iInfoType = RSat::KNoAdditionalInfo;
-    iSetUpIdleModeTextRsp.iAdditionalInfo.Zero();
-    iSetUpIdleModeTextRsp.SetPCmdNumber(
-        iSetUpIdleModeTextData.PCmdNumber() );
-
-    // Send the terminal response now, if there was an error.
-    if ( KErrNone != err )
-        {
-        LOG( NORMAL,
-            "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::HandleCommand \
-            Error, Sending Terminal Response" )
-        iSetUpIdleModeTextRsp.iGeneralResult = RSat::KMeUnableToProcessCmd;
-
-        // Send the response.
-        TerminalRsp( RSat::ESetUpIdleModeText, iSetUpIdleModeTextRspPckg );
-        }
-    else
-        {
-        // Save data for restore.
-        iSimResetExecuting = EFalse;
-        iLastValidText = idleModeText;
-        iLastValidIconId = iconId;
-        iLastValidIconQualifier = qualifier;
-        // Show or remove the homezone indicator.
-        if ( iHasHomezoneIndicator )
-            {
-            if ( iLastValidText.Length() )
-                {
-                TInt errorCode = RProperty::Set(
-                        KPSUidNetworkInfo,
-                        KNWHomeZoneStatus,
-                        ENWHomeZone );
-                LOG2( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                    show the homezone indicator and return %d", errorCode )
-                }
-            else 
-                {
-                TInt errorCode = RProperty::Set(
-                        KPSUidNetworkInfo,
-                        KNWHomeZoneStatus,
-                        ENWNone );
-                LOG2( NORMAL, "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler \
-                    remove the homezone indicator and return %d", errorCode )
-                }
-            }
-        
-        iSetUpIdleModeTextRsp.iGeneralResult = RSat::KSuccess;
-        TerminalRsp( RSat::ESetUpIdleModeText, iSetUpIdleModeTextRspPckg );
-        }
-
-    LOG( SIMPLE,
-        "SETUPIDLEMODETEXT: CSetUpIdleModeTextHandler::HandleCommand exiting" )
-    }
-
-// -----------------------------------------------------------------------------
-// CSetUpIdleModeTextHandler::UiLaunchFailed
-// -----------------------------------------------------------------------------
-//
-void CSetUpIdleModeTextHandler::UiLaunchFailed()
-    {
-    LOG( SIMPLE, "SETUPIDLEMODETEXT: \
-        CSetUpIdleModeTextHandler::UiLaunchFailed calling - exiting" )
-    // We don't need UI. This is derived function from CSatSCommandHandler,
-    // so this function must exist, even if it is never called.
-    }