diff -r fb3763350a08 -r 4d54b72983ae taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp Tue Jan 26 11:48:23 2010 +0200 @@ -0,0 +1,119 @@ +/* +* Copyright (c) 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: File containing application list classes + * +*/ + + +//INCLUDES: +#include +#include "tsfsalwaysshownapplist.h" + +//CONSTANTS: +/* Array for all application uid that need to be always displayed (if they are running). + Also, there will be no Close option for such apps. */ +const TUint32 KTsFsUidArray[] = + { + 0x102750F0 // Idle App Uid + ,0x0EFC346A //Search App Uid +/* never show menu app */ //,0x101F4CD2 // Menu App Uid + }; + +// ================= MEMBER FUNCTIONS ======================= + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::NewL +// -------------------------------------------------------------------------- +// +CTsFsAlwaysShownAppList* CTsFsAlwaysShownAppList::NewL() + { + CTsFsAlwaysShownAppList* self = + new (ELeave) CTsFsAlwaysShownAppList; + CleanupStack::PushL (self ); + self->ConstructL ( ); + CleanupStack::Pop ( self ); + return self; + } + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList +// -------------------------------------------------------------------------- +// +CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList() + { + } + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList +// -------------------------------------------------------------------------- +// +CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList( ) + { + iAppList.Close(); + iAppArcSession.Close(); + } + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::ConstructL +// -------------------------------------------------------------------------- +// +void CTsFsAlwaysShownAppList::ConstructL( ) + { + User::LeaveIfError( iAppArcSession.Connect() ); + } + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::InitializeAlwaysShownListL +// Applications that are always shown in fast swap are stored +// in different their own list whether they exist +// in the phone rom or not +// -------------------------------------------------------------------------- +// +void CTsFsAlwaysShownAppList::InitializeAlwaysShownListL( ) + { + iAppList.Reset(); + // order of always shown applications + TApaAppInfo applicationInfo; + for (TInt index = 0, + sizeOfArray = ( sizeof(KTsFsUidArray) / sizeof( TUint32 ) ); + index < sizeOfArray; index++ ) + { + // if exists in phone rom + if ( iAppArcSession.GetAppInfo( applicationInfo, + TUid::Uid( KTsFsUidArray[index] ) )!= KErrNotFound ) + { + iAppList.AppendL( TUid::Uid( KTsFsUidArray[index] ) ); + } + } + } + +// -------------------------------------------------------------------------- +// CTsFsAlwaysShownAppList::IsAlwaysShownApp +// If application uid exists in the always shown application list +// -------------------------------------------------------------------------- +// +TBool CTsFsAlwaysShownAppList::IsAlwaysShownApp( TUid aAppUid ) + { + for ( TInt index = 0, count = iAppList.Count ( ); index < count; index++ ) + { + if ( iAppList[index] == aAppUid ) + { + return ETrue; + } + } + return EFalse; + } + + +// end of file