diff -r 000000000000 -r dd21522fd290 browserutilities/schemehandler/SchemeApp/src/SchemeAppUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/schemehandler/SchemeApp/src/SchemeAppUi.cpp Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,167 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* Implementation of class CSchemeAppUi. +* +* +*/ + +#include "SchemeDocument.h" +#include "SchemeAppLogger.h" +#include "SchemeDialog.h" +#include +#include "SchemeAppUi.h" +#include "Scheme.hrh" +#include +#include +#include +#include + +#include +#include + +// CONSTANTS + +// ================= MEMBER FUNCTIONS ======================= + +// ---------------------------------------------------------- +// CSchemeAppUi::CSchemeAppUi() +// ---------------------------------------------------------- +// +CSchemeAppUi::CSchemeAppUi( CSchemeDocument* aSchemeDocument ) + { + CLOG_ENTERFN( "CSchemeAppUi::CSchemeAppUi" ); + iSchemeDocument = aSchemeDocument; + CLOG_LEAVEFN( "CSchemeAppUi::CSchemeAppUi" ); + } + +// ---------------------------------------------------------- +// CSchemeAppUi::ConstructL() +// ---------------------------------------------------------- +// +void CSchemeAppUi::ConstructL() + { + CLOG_ENTERFN( "CSchemeAppUi::ConstructL" ); + // SKAI-6YUEEA EAknEnableMSK is needed, EAknEnableSkin should be given as well + // in case the app wants to enable default skin parameters for the Avkon controls + BaseConstructL( EAknEnableSkin | EAknEnableMSK ); + iAppDialog = new (ELeave) CSchemeDialog; + iAppDialog->SetMopParent( this ); + iAppDialog->ExecuteLD( R_SCHEME_DIALOG ); + CLOG_LEAVEFN( "CSchemeAppUi::ConstructL" ); + } + +// ---------------------------------------------------------- +// CSchemeAppUi::~CSchemeAppUi() +// ---------------------------------------------------------- +// +CSchemeAppUi::~CSchemeAppUi() + { + CLOG_ENTERFN( "CSchemeAppUi::~CSchemeAppUi" ); + + if( iDoorObserver ) + { + iDoorObserver->NotifyExit( MApaEmbeddedDocObserver::ENoChanges ); + } + + if( iSchemeHandler ) + { + delete iSchemeHandler; + } + + delete iAppDialog; + + CLOG_LEAVEFN( "CSchemeAppUi::~CSchemeAppUi" ); + } + +// ---------------------------------------------------------- +// CSchemeAppUi::ProcessCommandParametersL() +// ---------------------------------------------------------- +// +TBool CSchemeAppUi::ProcessCommandParametersL( TApaCommand aCommand, + TFileName& aDocumentName, + const TDesC8& aTail ) + { + CLOG_ENTERFN( "CSchemeAppUi::ProcessCommandParametersL" ); + if ( aCommand == EApaCommandCreate ) + { + CLOG_WRITE( "EApaCommandCreate" ); + iSchemeHandler = CSchemeHandler::NewL( aDocumentName ); + iSchemeHandler->Observer( iSchemeDocument ); + + + if( aTail.Length() != 0 ) + { + CAiwGenericParamList* paramsList = CAiwGenericParamList::NewLC(); + CBufFlat* store = CBufFlat::NewL( aTail.Length() ); + CleanupStack::PushL( store ); + store->InsertL( 0, aTail ); + + RBufReadStream inStream; + inStream.Open( *store ); + CleanupClosePushL( inStream ); + + paramsList->InternalizeL( inStream ); + iSchemeHandler->SetParameterList( paramsList ); // Takes ownership + CleanupStack::PopAndDestroy( 2 ); // store, close inStream + CleanupStack::Pop( paramsList ); //paramsList + } + + TRAP_IGNORE( iSchemeHandler->HandleUrlEmbeddedL() ); + } + + CLOG_LEAVEFN( "CSchemeAppUi::ProcessCommandParametersL" ); + + return CEikAppUi::ProcessCommandParametersL + ( aCommand, aDocumentName, aTail ); + } + +// ---------------------------------------------------------- +// CSchemeAppUi::HandleCommandL() +// ---------------------------------------------------------- +// +void CSchemeAppUi::HandleCommandL( TInt aCommand ) + { + CLOG_ENTERFN( "CSchemeAppUi::HandleCommandL" ); + + switch ( aCommand ) + { + case EEikCmdExit: + { + Exit(); + break; + } + + default: + { + break; + } + } + + CLOG_LEAVEFN( "CSchemeAppUi::HandleCommandL" ); + } + +// --------------------------------------------------------- +// CBrowserAppUi::HandleScreenDeviceChangedL() +// --------------------------------------------------------- +// +void CSchemeAppUi::HandleScreenDeviceChangedL() + { + CEikAppUi::HandleScreenDeviceChangedL(); + } + +// End of File + + +// End of File