--- /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 <apaid.h>
+#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