diff -r 35488577e233 -r 2fa1fa551b0b satengine/SatServer/SatInternalClient/src/CSatCQueryHandler.cpp --- a/satengine/SatServer/SatInternalClient/src/CSatCQueryHandler.cpp Mon Aug 23 15:50:31 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +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 various query requests related to -* those SIM Application Toolkit proactive commands that require -* user permissions to complete their actions. -* -*/ - - - -// INCLUDE FILES -#include -#include -#include "RSatUiSession.h" -#include "MSatUiObserver.h" -#include "SatSOpcodes.h" -#include "CSatCQueryHandler.h" -#include "SatLog.h" - -// CONSTANTS - -// This will contain the Window Group Id of SAT UI -const TInt KSatUiWgId = -1; - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// CSatCQueryHandler::CSatCQueryHandler -// C++ default constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -//lint -e{1403, 1769} Can not be initialized, harmless. -CSatCQueryHandler::CSatCQueryHandler( - TInt aPriority, - RSatUiSession* aSession ) : - CActive( aPriority ), - iSession( aSession ), - iQueryData(), - iQueryPckg( iQueryData ), - iQueryRsp(), - iQueryRspPckg( iQueryRsp ) - { - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::CSatCQueryHandler calling" ) - - // Add to active scheduler. - CActiveScheduler::Add( this ); - - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::CSatCQueryHandler exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatCQueryHandler::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CSatCQueryHandler* CSatCQueryHandler::NewL( - RSatUiSession* aSat ) - { - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::NewL calling" ) - - // Perform construction. - CSatCQueryHandler* self = - new ( ELeave ) CSatCQueryHandler( EPriorityLow, aSat ); - - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::NewL exiting" ) - return self; - } - -// Destructor -CSatCQueryHandler::~CSatCQueryHandler() - { - LOG( SIMPLE, - "SATINTERNALCLIENT: CSatCQueryHandler::~CSatCQueryHandler calling" ) - - // Cancel any outstanding requests. - Cancel(); - iSession = NULL; - - LOG( SIMPLE, - "SATINTERNALCLIENT: CSatCQueryHandler::~CSatCQueryHandler exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatCQueryHandler::Start -// Starts the handler. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatCQueryHandler::Start() - { - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::Start calling" ) - - // Empty the IPC data - TSatQueryV1 temp; - iQueryData = temp; - TSatQueryRspV1 temp2; - temp2.iAccepted = EFalse; - temp2.iCommand = ESatSSendSmQuery; - iQueryRsp = temp2; - - // Request queries notification. - TIpcArgs arguments( &iQueryPckg ); - - // Pass the Query IPC package. - iSession->CreateRequest( ESatSProactiveQuery, arguments, iStatus ); - - // Set this handler to active so that it can receive requests. - SetActive(); - - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::Start exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatCQueryHandler::RunL -// Handles the command. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatCQueryHandler::RunL() - { - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::RunL calling" ) - - // Check the status of the asnychronous operation - if ( KErrNone != iStatus.Int() ) - { - LOG2( - SIMPLE, - "SATINTERNALCLIENT: CSatCQueryHandler::RunL error: %d", - iStatus.Int() ) - - // Renew the request - Start(); - } - - else - { - // This will contain the result of the user query. - TBool userQuery( EFalse ); - - // This will contain EFalse if requested icon is not displayed. - // And if icon is displayed, it contains ETrue. - TBool requestedIconDisplayed( EFalse ); - - // This will contain the result that has the user pressed end key. - TBool terminatedByUser( EFalse ); - - // Use general configm function - iSession->SatUiObserver()->ConfirmCommand( - iQueryData.iCommand, - iQueryData.iAlphaIdStatus, - iQueryData.iQueryText, - iQueryData.iSimApplicationName, - userQuery, - iQueryData.iIconId, - requestedIconDisplayed, - terminatedByUser ); - - // Return the result of the query to the server. - iQueryRsp.iAccepted = userQuery; - iQueryRsp.iCommand = iQueryData.iCommand; - iQueryRsp.iWgId = KSatUiWgId; - iQueryRsp.iRequestedIconDisplayed = requestedIconDisplayed; - iQueryRsp.iSessionTerminatedByUser = terminatedByUser; - - // Pass the Query response IPC package. - TIpcArgs arguments( &iQueryRspPckg ); - - // Perform the IPC data transfer. - iSession->CreateRequest( ESatSProactiveQueryResponse, arguments ); - - Start(); - } - - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::RunL exiting" ) - } - -// ----------------------------------------------------------------------------- -// CSatCQueryHandler::DoCancel -// Cancels the pending request. -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CSatCQueryHandler::DoCancel() - { - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::DoCancel calling" ) - - // Complete the request with cancel code. - TRequestStatus* requestStatus = &iStatus; - User::RequestComplete( requestStatus, KErrCancel ); - - LOG( SIMPLE, "SATINTERNALCLIENT: CSatCQueryHandler::DoCancel exiting" ) - } - -// End of File