customization/UISettingsSrv/server/Src/UISettingsSrvServer.cpp
changeset 18 7d11f9a6646f
parent 4 75a71fdb4c92
child 21 c707676bf59f
--- a/customization/UISettingsSrv/server/Src/UISettingsSrvServer.cpp	Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1536 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: Implementation of customization components
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "UISettingsSrvConstants.h"
-#include "UISettingsSrv.h"
-#include <e32svr.h>
-#include <e32math.h>
-#include <e32uid.h>
-
-#include    <eikapp.h>
-#include    <avkon.hrh>
-#include    <akncontext.h>
-#include    <aknnavi.h>
-#include    <aknnavide.h>
-#include    <akntabgrp.h>
-#include    <akntitle.h>
-#include    <aknnotedialog.h>
-#include    <AknWaitDialog.h>
-#include    <aknslider.h>
-#include    <AknQueryDialog.h>
-#include    <aknsettingpage.h>
-#include    <aknradiobuttonsettingpage.h>
-#include    <aknslidersettingpage.h>
-#include    <akntextsettingpage.h>
-#include    <AknDateFormatUtils.h>
-#include    <AknUtils.h>
-#include    <AknsConstants.h>    //for determining skin change
-#include    <barsread.h>
-#include    <hal.h>
-#include <e32property.h>
-#include <centralrepository.h>
-#include <AknSkinsInternalCRKeys.h>
-#include <AknIconSrvClient.h>
-#include <startupdomaincrkeys.h>
-	
-
-// #include <ScShortcut.h>
-// #include <ScShortcutUids.h>
-// #include <ScShortcutBase.h>
-// #include <ScShortcutEngine.h>
-// #include <ScSelectableShortcutList.h>
-// #include <ScShortcutCustomOperations.h>
-
-
-#include <gsasyncimagehandling.h>
-#include <backgroundimage.h>
-#include <imageconversion.h>
-
-#include "debug.h"
-
-// Type defintions
-typedef TInt TScBookmarkEngineId;	// NOTE ! This is copied from ScBookmarkDbManager.h
-									// to avoid illegal userinclude
-
-const TUid KUidIdleApp = { 0x101FD64C };
-/******************************************************************************************
-
-    Security policies of this server are defined here:   
-
-*/
-
-/**
-    Ranges (inclusive):
-        0: EUISettingsSrvSetStartupImage to (EUISettingsSrvLastCmd-1)
-        1: EUISettingsSrvLastCmd to KMaxTInt
-*/
-const TInt CUISettingsSrvServer::iRanges[UISETTINGSSRV_POLICYCOUNT] =
-                {EUISettingsSrvSetStartupImage, EUISettingsSrvLastCmd};
-
-/**
-    For range 0: Always pass
-    For range 1: Not supported
-*/
-const TUint8 CUISettingsSrvServer::iElementsIndex[UISETTINGSSRV_POLICYCOUNT] = 
-                {CPolicyServer::EAlwaysPass, CPolicyServer::ENotSupported};
-
-/**
-    The policy
-*/
-const CPolicyServer::TPolicy CUISettingsSrvServer::iConnectionPolicy =
-    {
-        CPolicyServer::ECustomCheck, // Check connection
-        UISETTINGSSRV_POLICYCOUNT,
-        iRanges,
-        iElementsIndex,
-        0
-    };
-
-// MACROS
-#define WELCOME_NOTE_MAX_LENGTH 100
-//_LIT( KTempFilePath, "c:\\system\\temp\\" );
-_LIT( KUISSWelcomeImagePath,    "c:\\system\\data\\welcomedata.mbm");
-//_LIT8( KMimeTypeImageMbm, "image/x-epoc-mbm");
-
-// ----------------------------------------------------------------------------------------
-// CShutDown
-// ----------------------------------------------------------------------------------------
-
-inline CShutdown::CShutdown()
-	:CTimer(-1)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-inline void CShutdown::ConstructL()
-	{
-	CTimer::ConstructL();
-	}
-
-inline void CShutdown::Start()
-	{
-	RDEBUG( "UiSettingsSrv: Starting shutdown timeout" );
-	After( KUISettingsSrvShutdownDelay );
-	}
-
-void CShutdown::RunL()
-	{
-	RDEBUG( "UiSettingsSrv: Timeout ... closing" );
-	CEikonEnv::Static()->EikAppUi()->HandleCommandL( EEikCmdExit );
-	}
-
-// ----------------------------------------------------------------------------------------
-// CUISettingsSrvServer
-// ----------------------------------------------------------------------------------------
-CUISettingsSrvServer::CUISettingsSrvServer(TInt aPriority)
-	: CPolicyServer (
-	    aPriority, // Active object priority
-	    iConnectionPolicy,
-	    EUnsharableSessions
-	  )
-	, iActive( 0 )
-	, iSessionCount( 0 )
-//	, iShortcuts( 0 )
-	, iImgHandling( 0 )
-	, iAppList( 0 )
-	, iIdleBitmapUid( KUidIdleApp )
-	, iAIBitmapUid( KUidIdleApp ) 
-	{
-	}
-
-// ----------------------------------------------------------------------------------------
-// CTerminalControlServer::CustomSecurityCheckL
-// ----------------------------------------------------------------------------------------
-CPolicyServer::TCustomResult CUISettingsSrvServer::CustomSecurityCheckL(const RMessage2& aMsg, TInt& /*aAction*/, TSecurityInfo& /*aMissing*/)
-	{
-	RDEBUG("CUISettingsSrvServer::CustomSecurityCheckL");
-
-    _LIT_SECURITY_POLICY_C7(
-                KRequiredCapabilities1,
-                ECapabilityNetworkServices,
-                ECapabilityLocalServices,
-                ECapabilityLocation,
-                ECapabilityReadUserData,
-                ECapabilityWriteUserData,
-                ECapabilityReadDeviceData,
-                ECapabilityWriteDeviceData
-                );
-
-    _LIT_SECURITY_POLICY_C3(
-                KRequiredCapabilities2,
-                ECapabilitySwEvent,
-                ECapabilityUserEnvironment,
-                ECapabilityNetworkControl
-                );
-
-		TInt policy1 = KRequiredCapabilities1().CheckPolicy( aMsg );
-		if( !policy1 )
-		    {
-            RDEBUG("CUISettingsSrvServer::CustomSecurityCheckL Capabilities ERROR");
-            return EFail;
-		    }
-
-		TInt policy2 = KRequiredCapabilities2().CheckPolicy( aMsg );
-		if( !policy2 )
-		    {
-            RDEBUG("CUISettingsSrvServer::CustomSecurityCheckL Capabilities ERROR");
-            return EFail;
-		    }
-
-        RDEBUG("CUISettingsSrvServer::CustomSecurityCheckL Capabilities OK");
-        return EPass;
-	}
-
-CUISettingsSrvServer::~CUISettingsSrvServer()
-	{
-	iShutdownTimer.Cancel();
-
-//    delete iAppList;
-
-//	delete iShortcuts;
-
-    if( iTemporaryImageFile.Length() > 0 )
-        {
-        RDEBUG( "CUISettingsSrvServer::~CUISettingsSrvServer() Deleting temporary file" );
-        iFs.Delete( iTemporaryImageFile );
-        iTemporaryImageFile.Zero();
-        }
-
-	iFs.Close();
-
-	iIndeces.Reset();
-	iNotifyChanges.Reset();
-
-	delete iImgHandling;
-
-	delete iStartupRep;
-	}
-
-
-void CUISettingsSrvServer::ConstructL()
-	{
-	RDEBUG( "CUISettingsSrvServer::ConstructL" );
-
-	User::LeaveIfError( iFs.Connect() );
-//    iShortcuts = CScShortcutEngine::NewL(iFs, *this);
-//    RDEBUG_2( "CUISettingsSrvServer::ConstructL CScShortcutEngine ALLOC %x", iShortcuts );
-
-	iShutdownTimer.ConstructL();
-	iShutdownTimer.Start();
-	StartL(KUISettingsSrvName);
-
-    iImgHandling = CGSAsyncImageHandling::NewL(
-                        iFs, this, KUISSWelcomeImagePath() );
-
-    RDEBUG_2( "CUISettingsSrvServer::ConstructL CGSAsyncImageHandling ALLOC %x", iImgHandling );
-
-    iStartupRep = CRepository::NewL( KCRUidStartupConf );
-    RDEBUG_2( "CUISettingsSrvServer::ConstructL CRepository ALLOC %x", iStartupRep );
-	}
-
-// Create and start a new count server.
-CUISettingsSrvServer* CUISettingsSrvServer::NewL()
-	{
-	RDEBUG( "CUISettingsSrvServer::NewL" );
-
-	CUISettingsSrvServer *pS = 0;
-	pS = new (ELeave) CUISettingsSrvServer( EPriorityStandard );
-    RDEBUG_2( "CUISettingsSrvServer::NewL CUISettingsSrvServer ALLOC %x", pS );
-
-	CleanupStack::PushL( pS );
-
-	pS->ConstructL();
-
-	CleanupStack::Pop( pS );
-	return pS;
-	}
-
-
-// Create a new server session.
-CSession2 *CUISettingsSrvServer::NewSessionL(const TVersion& aVersion,const RMessage2& /*aMessage*/) const
-	{
-	RDEBUG( "CUISettingsSrvServer::NewSessionL" );
-
-	// check we're the right version
-	TVersion v(KUISettingsSrvMajorVersionNumber,KUISettingsSrvMinorVersionNumber,KUISettingsSrvBuildVersionNumber);
-	if (!User::QueryVersionSupported(v,aVersion))
-		{
-		User::Leave(KErrNotSupported);
-		}
-
-	// make new session
-	return CUISettingsSrvSession::NewL( ( CUISettingsSrvServer*) this );
-	}
-
-void CUISettingsSrvServer::AddSession()
-	{
-	RDEBUG( "CUISettingsSrvServer::AddSession" );
-
-	iSessionCount++;
-	iShutdownTimer.Cancel();
-	}
-
-void CUISettingsSrvServer::RemoveSession()
-	{
-	RDEBUG( "CUISettingsSrvServer::RemoveSession" );
-
-	iSessionCount--;
-	if (iSessionCount <= 0)
-		{
-		iShutdownTimer.Start();
-		}
-	}
-
-void CUISettingsSrvServer::Shutdown()
-	{
-	RDEBUG( "CUISettingsSrvServer::Shutdown" );	
-	}
-
-// From MScSelectableShortcutListObserver
-void CUISettingsSrvServer::ScSSLOHandleListChangedL()
-    {
-	RDEBUG( "CUISettingsSrvServer::ScSSLOHandleListChangedL" );
-
-	// Shortcut list has changed, notify sessions about the situation!
-    for(TInt i=0; i<iNotifyChanges.Count(); i++)
-        {
-        TInt* flag = iNotifyChanges[ i ];
-        if( flag != 0 )
-            {
-            *flag = 1;
-            }
-        }
-    }
-
-// From MScSelectableShortcutListObserver
-void CUISettingsSrvServer::ScSSLOHandleListConstructionComplete(TInt /*aError*/)
-    {
-	RDEBUG( "CUISettingsSrvServer::ScSSLOHandleListConstructionComplete" );
-
-    if( iASWait.IsStarted() )
-    {
-        iASWait.AsyncStop();
-    }
-    }
-
-// From MScEngineObserver
-// TBool CUISettingsSrvServer::MScEngineHandleShortcutEvent(
-//                    TScShortcutEvent /*aEvent*/,
-//                    TScActionType /*aType*/
-//                    )
-//    {
-//	RDEBUG( "CUISettingsSrvServer::MScEngineHandleShortcutEvent" );
-
-//    return EFalse;
-//    } */
-
-void CUISettingsSrvServer::GetShortcutTargetListL()
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetListL" );
-
-    if( iASWait.IsStarted() )
-        {
-        User::Leave( KErrServerBusy );
-        }
-
-    // Remember count of previous list
-    TInt oldCount = 0;
-    if( iAppList != 0 )
-        {
-        oldCount = iAppList->Count();
-        }
-
-    delete iAppList;
-    iAppList = 0;
-
-    delete iShortcuts;
-    iShortcuts = 0;
-
-    iShortcuts = CScShortcutEngine::NewL(iFs, *this);
-    RDEBUG_2( "CUISettingsSrvServer::GetShortcutTargetListL CScShortcutEngine ALLOC %x", iShortcuts );
-
-    const CScSelectableShortcutList::TCaptionType typeSettings = 
-                CScSelectableShortcutList::ECaptionTypeSoftkey;
-    iAppList = iShortcuts->SelectableApplicationListLC( typeSettings, *this );
-
-    iASWait.Start();
-    CleanupStack::Pop( iAppList );
-
-    //
-    // If list had already changed (and engine had not notified that to us)
-    // set flag to indicate that clients data is most probably outdated
-    //
-    if( (oldCount > 0) && (oldCount != iAppList->Count()) )
-        {
-        ScSSLOHandleListChangedL();
-        }
-        
-    */
-    }
-
-void CUISettingsSrvServer::SetShortcutListMaskL(CScSelectableShortcutList& aScAppList, TInt aMask)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::SetShortcutListMaskL" );
-
-    iIndeces.Reset();
-    TInt i, count = aScAppList.Count();
-
-    for(i=0; i<count; i++)
-        {
-        TScRtType rtType = aScAppList.At( i ).MScRtType();
-        TInt rt = EUiSrvRtTypeNul;
-
-        if( aMask == EUiSrvRtTypeNul)
-            {
-            iIndeces.AppendL( i );
-            }
-        else
-            {
-            switch( rtType.iUid )
-                {
-                case KScRtTypeUidValueNativeApp:
-                case KScRtTypeUidValueMailbox:
-                case KScRtTypeUidValueMsgEditor:
-                case KScRtTypeUidValueNewMessage:
-                case KScRtTypeUidValueNoEffect:
-                default:
-                    rt |= EUiSrvRtTypeApp;
-                break;
-
-                case KScRtTypeUidValueBookmark:
-                    {
-                    rt |= EUiSrvRtTypeBm;
-                    TUid uid = TUid::Uid( KScCustomOpValueBookmarkGetURL );
-                    HBufC* url = (HBufC*)
-                             aScAppList.At( i ).MScCustomOperationL(
-                                    uid,
-                                    (TAny*)0,
-                                    (TAny*)0
-                                    );
-                    delete url;               
-                    }
-                break;
-                }
-
-            if( (aMask & rt) == rt )
-                {
-                iIndeces.AppendL( i );
-                }
-            }
-        }
-        
-    */
-    }
-
-void CUISettingsSrvServer::AddListChangeNotifierL(TInt *aFlag)
-    {
-	RDEBUG( "CUISettingsSrvServer::AddListChangeNotifierL" );
-
-    iNotifyChanges.AppendL( aFlag );
-    }
-
-void CUISettingsSrvServer::RemoveListChangeNotifierL(TInt *aFlag)
-    {
-	RDEBUG( "CUISettingsSrvServer::RemoveListChangeNotifierL" );
-
-    iNotifyChanges.Remove( iNotifyChanges.FindL(aFlag) );
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetCountL(
-                            const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetCountL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt count = iIndeces.Count();
-    TPckg<TInt> countp( count );
-    aMessage.Write(1, countp);
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetTypeL( const RMessage2 &aMessage )
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetTypeL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt index = aMessage.Int1();
-    TInt type = iAppList->At( iIndeces[ index ] ).MScRtType().iUid;
-    TPckg<TInt> typep( type );
-    aMessage.Write(2, typep);
-
-*/
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetCaptionL( const RMessage2 &aMessage )
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetCaptionL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt index = aMessage.Int1();
-    TPtrC caption( iAppList->At( iIndeces[ index ] ).MScCaption( MScShortcut::EScCaptionTypeSoftkey ) );
-    aMessage.Write(2, caption);
-*/
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetAppUidL( const RMessage2 &aMessage )
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetAppUidL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt index = aMessage.Int1();
-    
-    TInt appUid = 0;
-    
-    const CScShortcutBase &sc = iAppList->At( iIndeces[ index ] );
-    if( sc.MScRtType() == KScRtTypeUidBookmark )
-        {
-        appUid = (TInt)iAppList->At( iIndeces[ index ] ).CustomOperationL( KScCustomOpBookmarkGetBookmarkId, NULL, NULL );
-        }
-    else
-        {
-        appUid = (TInt)iAppList->At( iIndeces[ index ] ).CustomOperationL( KScCustomOpNativeAppGetUid, NULL, NULL );
-        }
-    TPckg<TInt> uidp( appUid );
-    aMessage.Write(2, uidp);
-    
-*/
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetIndexFromATL( const RMessage2 &aMessage )
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetIndexFromATL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt i, index = -1;
-    TInt actionType = aMessage.Int1();
-    const CScShortcutBase &sc = iShortcuts->ShortcutL( TUid::Uid( actionType ) );
-
-    for(i=0; i<iIndeces.Count(); i++)
-        {
-        if( iAppList->At( iIndeces[ i ] ).IsEqual( sc ) )
-            {
-            index = i;
-            break;
-            }
-        }
-
-    TPckg<TInt> indexp( index );
-    aMessage.Write(2, indexp);
-    
-*/
-
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetIndexL( const RMessage2 &aMessage )
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetIndexL" );
-
-    TInt type = aMessage.Int0();
-
-    SetShortcutListMaskL( *iAppList, type );
-
-    TInt i, index = -1;
-    TInt theUid = aMessage.Int1();
-
-    for(i=0; i<iIndeces.Count(); i++)
-        {
-        if( (type & EUiSrvRtTypeBm) == EUiSrvRtTypeBm )
-            {
-                TScBookmarkEngineId bmUid = -1;
-
-                TRAPD
-                (
-                 reason,
-                 bmUid = (TScBookmarkEngineId)iAppList->At( iIndeces[ i ] ).CustomOperationL( KScCustomOpBookmarkGetBookmarkId, NULL, NULL )
-                );
-
-                if( (KErrNone == reason) && (bmUid == theUid) )
-                    {
-                    index = i;
-                    break;
-                    }
-            }
-        if( (type & EUiSrvRtTypeApp) == EUiSrvRtTypeApp )
-            {
-                TInt appUid = -1;
-
-                TRAPD
-                (
-                 reason,
-                 appUid = (TInt)iAppList->At( iIndeces[ i ] ).CustomOperationL( KScCustomOpNativeAppGetUid, NULL, NULL )
-                );
-
-                if( (KErrNone == reason) && (appUid == theUid) )
-                    {
-                    index = i;
-                    break;
-                    }
-            }
-        }
-
-    TPckg<TInt> indexp( index );
-    aMessage.Write(2, indexp);
-*/
-    }
-
-void CUISettingsSrvServer::SetShortcutTargetAppIndexL(const RMessage2 &aMessage)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::SetShortcutTargetAppIndexL >" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt actionType = aMessage.Int1();
-    TInt index = aMessage.Int2();
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetAppIndexL get Shortcut index" );
-    TInt scIndex = iIndeces[ index ];
-
-    if( scIndex >= iAppList->Count() )
-        {
-        RDEBUG_3( "CUISettingsSrvServer::SetShortcutTargetAppIndexL Index out of bound! %d >= %d", scIndex, iAppList->Count() );
-        User::Leave( KErrArgument );
-        }
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetAppIndexL get Shortcut from the list" );
-    const CScShortcutBase &newSc = iAppList->At( scIndex );
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetAppIndexL entering iShortcuts->SetShortcutL" );
-    iShortcuts->SetShortcutL( TUid::Uid( actionType ), newSc );
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetAppIndexL <" );
-*/
-    }
-
-void CUISettingsSrvServer::GetShortcutRtTypeL(const RMessage2 &aMessage)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutRtTypeL" );
-
-
-    TInt actionType = aMessage.Int0();
-    const CScShortcutBase &sc = iShortcuts->ShortcutL( TUid::Uid( actionType ) );
-
-    TInt rtType = sc.RtType().iUid;
-
-    TPckg<TInt> rttypep( rtType );
-    aMessage.Write(1, rttypep);
-*/
-    }
-
-void CUISettingsSrvServer::SetShortcutTargetCaptionL(const RMessage2 &aMessage)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::SetShortcutTargetCaptionL" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    HBufC16 *caption = CUISettingsSrvSession::CopyParameter16L( aMessage, 2 );
-    CleanupStack::PushL( caption );
-
-    CleanupStack::PopAndDestroy( caption );
-*/
-    }
-
-void CUISettingsSrvServer::SetShortcutTargetBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL >" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-
-    TInt index  = aMessage.Int1();
-
-    HBufC16 *filename = CUISettingsSrvSession::CopyParameter16L( aMessage, 2 );
-    CleanupStack::PushL( filename );
-
-    HBufC8 *mimetype = CUISettingsSrvSession::CopyParameter8L( aMessage, 3 );
-    CleanupStack::PushL( mimetype );
-
-    CFbsBitmap *bitmap = LoadBitmapL( *filename, *mimetype );
-    CleanupStack::PushL( bitmap );
-
-    CScShortcutBase &sc = (CScShortcutBase&)iAppList->At( iIndeces[ index ] );
-    CScShortcutBitmapArray &scBitmapArray = sc.MScMultipleBitmapsL();
-
-    CScShortcutBitmap *oldBitmap = 0;
-    CScShortcutBitmap *newBitmap = 0;
-
-    TRAP_IGNORE(
-           oldBitmap = & scBitmapArray.BitmapL( iIdleBitmapUid ) );
-
-    if( 0 == oldBitmap )
-        {
-        if( aIsMask )
-            {
-            RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL ERROR Trying to set mask when there is no image");
-            User::Leave( KErrNotSupported );
-            }
-        newBitmap = CScShortcutBitmap::NewL( iIdleBitmapUid );
-        RDEBUG_2( "CUISettingsSrvServer::SetShortcutTargetBitmapL CScShortcutBitmap::NewL ALLOC %x", newBitmap );
-        }
-    else
-        {
-        newBitmap = CScShortcutBitmap::NewCopyL( *oldBitmap );
-        RDEBUG_2( "CUISettingsSrvServer::SetShortcutTargetBitmapL CScShortcutBitmap::NewCopyL ALLOC %x", newBitmap );
-        }
-
-    CleanupStack::PushL( newBitmap );
-
-    // Set image or mask
-    if( ! aIsMask )
-        {
-        RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL Setting BITMAP" );
-        newBitmap->SetImageL( bitmap );
-        }
-    else
-        {
-        if( !newBitmap->HasBitmap() )
-            {
-            RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL ERROR Trying to set mask when there is no image 2");
-            User::Leave( KErrNotSupported );
-            }
-        RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL Setting MASK" );
-        newBitmap->SetMaskL( bitmap );
-        }
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL Updating shortcut bitmaps" );
-    scBitmapArray.SetBitmapL( iIdleBitmapUid, newBitmap );
-
-    CleanupStack::Pop( newBitmap );
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PopAndDestroy( mimetype );
-    CleanupStack::PopAndDestroy( filename );
-
-    RDEBUG( "CUISettingsSrvServer::SetShortcutTargetBitmapL <" );
-*/
-    }
-
-void CUISettingsSrvServer::GetShortcutTargetBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetShortcutTargetBitmapL >" );
-
-    SetShortcutListMaskL( *iAppList, aMessage.Int0() );
-    TInt index  = aMessage.Int1();
-
-    CScShortcutBase &sc = (CScShortcutBase&)iAppList->At( iIndeces[ index ] );
-    CScShortcutBitmapArray &scBitmapArray = sc.MScMultipleBitmapsL();
-    CScShortcutBitmap *scBitmap = 0;
-
-    TRAP_IGNORE(
-           scBitmap = & scBitmapArray.BitmapL( iIdleBitmapUid ) );
-
-    if( 0 == scBitmap )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    CFbsBitmap *bitmap = 0;
-
-    if( !aIsMask )
-        {
-        bitmap = &scBitmap->ImageL();
-        }
-    else
-        {
-        bitmap = &scBitmap->MaskL();
-        }
-
-    CleanupStack::PushL( bitmap );
-
-    //
-    // Delete previous temp file
-    //
-    if( iTemporaryImageFile.Length() > 0 )
-        {
-        iFs.Delete( iTemporaryImageFile );
-        iTemporaryImageFile.Zero();
-        }
-
-    //
-    // Create new temp file
-    //
-    RFile file;
-    User::LeaveIfError( file.Temp( iFs, KTempFilePath, iTemporaryImageFile, EFileWrite ) );
-    CleanupClosePushL( file );
-
-    bitmap->Save( file );
-
-    // Close file
-    CleanupStack::PopAndDestroy( &file );
-
-    CleanupStack::PopAndDestroy( bitmap );
-
-    RDEBUG( "CUISettingsSrvServer::GetShortcutTargetBitmapL <" );
-    
-*/
-    }
-
-void CUISettingsSrvServer::SetSoftkeyBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL >" );
-
-    TUid imageUid ( iIdleBitmapUid );
-    TInt softkeyUid = aMessage.Int0();
-    switch( softkeyUid )
-        {
-        default:
-        case KScActionTypeUidValueNull:
-            User::Leave( KErrArgument );
-        break;
-
-        case KScActionTypeUidValueSoftkeyLeft:
-        case KScActionTypeUidValueSoftkeyRight:
-        case KScActionTypeUidValueScrollkeyLeft:
-        case KScActionTypeUidValueScrollkeyRight:
-        case KScActionTypeUidValueScrollkeyUp:
-        case KScActionTypeUidValueScrollkeyDown:
-        case KScActionTypeUidValueScrollkeySelect:
-        imageUid = iIdleBitmapUid;
-        break;
-
-        case KActiveIdleScUidValueItem1:
-        case KActiveIdleScUidValueItem2:
-        case KActiveIdleScUidValueItem3:
-        case KActiveIdleScUidValueItem4:
-        case KActiveIdleScUidValueItem5:
-        imageUid = iAIBitmapUid;
-        break;
-        }
-
-    HBufC16 *filename = CUISettingsSrvSession::CopyParameter16L( aMessage, 1 );
-    CleanupStack::PushL( filename );
-
-    HBufC8 *mimetype = CUISettingsSrvSession::CopyParameter8L( aMessage, 2 );
-    CleanupStack::PushL( mimetype );
-
-    CFbsBitmap *bitmap = LoadBitmapL( *filename, *mimetype );
-    CleanupStack::PushL( bitmap );
-
-    CScShortcutBase& shortcut = iShortcuts->ShortcutL( TUid::Uid( softkeyUid ) );
-    CScShortcutBitmapArray &scBitmapArray = shortcut.MScMultipleBitmapsL();
-
-    CScShortcutBitmap *oldBitmap = 0;
-    CScShortcutBitmap *newBitmap = 0;
-
-    TRAP_IGNORE(
-           oldBitmap = & scBitmapArray.BitmapL( imageUid ) );
-
-    if( 0 == oldBitmap )
-        {
-        if( aIsMask )
-            {
-            RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL ERROR Trying to set mask when there is no image");
-            User::Leave( KErrNotSupported );
-            }
-        newBitmap = CScShortcutBitmap::NewL( imageUid );
-        RDEBUG_2( "CUISettingsSrvServer::SetSoftkeyBitmapL CScShortcutBitmap::NewL ALLOC %x", newBitmap );
-        }
-    else
-        {
-        newBitmap = CScShortcutBitmap::NewCopyL( *oldBitmap );
-        RDEBUG_2( "CUISettingsSrvServer::SetSoftkeyBitmapL CScShortcutBitmap::NewCopyL ALLOC %x", newBitmap );
-        }
-
-    CleanupStack::PushL( newBitmap );
-
-    // Set image or mask
-    if( ! aIsMask )
-        {
-        RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL Setting BITMAP" );
-        newBitmap->SetImageL( bitmap );
-        }
-    else
-        {
-        if( !newBitmap->HasBitmap() )
-            {
-            RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL ERROR Trying to set mask when there is no image 2");
-            User::Leave( KErrNotSupported );
-            }
-        RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL Setting MASK" );
-        newBitmap->SetMaskL( bitmap );
-        }
-
-    RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL Updating shortcut bitmaps" );
-    scBitmapArray.SetBitmapL( imageUid, newBitmap );
-
-    // Shortcut is updated ...
-    iShortcuts->SetShortcutL( TUid::Uid( softkeyUid ), shortcut );
-
-    CleanupStack::Pop( newBitmap );
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PopAndDestroy( mimetype );
-    CleanupStack::PopAndDestroy( filename );
-
-	RDEBUG( "CUISettingsSrvServer::SetSoftkeyBitmapL <" );
-*/
-    }
-
-void CUISettingsSrvServer::GetSoftkeyBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-/*	RDEBUG( "CUISettingsSrvServer::GetSoftkeyBitmapL" );
-
-    TUid imageUid ( iIdleBitmapUid );
-    TInt softkeyUid = aMessage.Int0();
-    switch( softkeyUid )
-        {
-        default:
-        case KScActionTypeUidValueNull:
-            User::Leave( KErrArgument );
-        break;
-
-        case KScActionTypeUidValueSoftkeyLeft:
-        case KScActionTypeUidValueSoftkeyRight:
-        case KScActionTypeUidValueScrollkeyLeft:
-        case KScActionTypeUidValueScrollkeyRight:
-        case KScActionTypeUidValueScrollkeyUp:
-        case KScActionTypeUidValueScrollkeyDown:
-        case KScActionTypeUidValueScrollkeySelect:
-        imageUid = iIdleBitmapUid;
-        break;
-
-        case KActiveIdleScUidValueItem1:
-        case KActiveIdleScUidValueItem2:
-        case KActiveIdleScUidValueItem3:
-        case KActiveIdleScUidValueItem4:
-        case KActiveIdleScUidValueItem5:
-        imageUid = iAIBitmapUid;
-        break;
-        }
-
-    CScShortcutBase& shortcut = iShortcuts->ShortcutL( TUid::Uid( softkeyUid ) );
-    CScShortcutBitmapArray &scBitmapArray = shortcut.MScMultipleBitmapsL();
-    CScShortcutBitmap *scBitmap = 0;
-
-    TRAP_IGNORE(
-           scBitmap = & scBitmapArray.BitmapL( imageUid ) );
-
-    if( 0 == scBitmap )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    CFbsBitmap *bitmap = 0;
-
-    if( !aIsMask )
-        {
-        bitmap = &scBitmap->ImageL();
-        }
-    else
-        {
-        bitmap = &scBitmap->MaskL();
-        }
-
-    CleanupStack::PushL( bitmap );
-
-    //
-    // Delete previous temp file
-    //
-    if( iTemporaryImageFile.Length() > 0 )
-        {
-        iFs.Delete( iTemporaryImageFile );
-        iTemporaryImageFile.Zero();
-        }
-
-    //
-    // Create new temp file
-    //
-    RFile file;
-    User::LeaveIfError( file.Temp( iFs, KTempFilePath, iTemporaryImageFile, EFileWrite ) );
-    CleanupClosePushL( file );
-
-    bitmap->Save( file );
-
-    aMessage.Write(1, iTemporaryImageFile);
-    aMessage.Write(2, KMimeTypeImageMbm);
-
-    // Close file
-    CleanupStack::PopAndDestroy( &file );
-
-    CleanupStack::PopAndDestroy( bitmap );
-*/
-    }
-
-void CUISettingsSrvServer::SetStartupImageL( const TDesC &aFilePath )
-    {
-	RDEBUG( "CUISettingsSrvServer::SetStartupImageL" );
-
-    if( iASWait.IsStarted() )
-        {
-        User::Leave( KErrServerBusy );
-        }
-
-    if( iImgHandling->IsActive() )
-        {
-        iASWait.Start();
-        }
-
-    CGSBackgroundImage *bgImage = CGSBackgroundImage::NewL();
-    RDEBUG_2( "CUISettingsSrvServer::SetShortcutTargetBitmapL CGSBackgroundImage::NewL ALLOC %x", bgImage );
-
-    CleanupStack::PushL( bgImage );
-    bgImage->SetWelcomeNoteImageL( aFilePath, *iImgHandling );
-    iImageHandlingError = KErrNone;
-    User::LeaveIfError( iImageHandlingError );
-
-    User::LeaveIfError( iStartupRep->Set( KStartupWelcomeNoteImage, KUISSWelcomeImagePath ) );
-
-    CleanupStack::PopAndDestroy( bgImage );
-    }
-
-void CUISettingsSrvServer::SetStartupImageL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::SetStartupImageL" );
-
-    HBufC16* text = CUISettingsSrvSession::CopyParameter16L( aMessage, 0 );
-    CleanupStack::PushL( text );
-
-    SetStartupImageL( *text );
-
-    CleanupStack::PopAndDestroy( text );
-    }
-
-void CUISettingsSrvServer::GetStartupImagePathL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::GetStartupImagePathL" );
-
-    TFileName imageLocation;
-
-    CRepository* rep = CRepository::NewLC( KCRUidStartupConf );
-    RDEBUG_2( "CUISettingsSrvServer::GetStartupImagePathL CRepository::NewLC ALLOC %x", rep );
-
-    User::LeaveIfError( rep->Get( KStartupWelcomeNoteImage, imageLocation ) );
-
-    CleanupStack::PopAndDestroy( rep );
-
-    aMessage.Write(0, imageLocation);
-    }
-
-void CUISettingsSrvServer::SetStartupTextL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::SetStartupTextL" );
-
-    HBufC16* text = CUISettingsSrvSession::CopyParameter16L( aMessage, 0 );
-    CleanupStack::PushL( text );
-
-    User::LeaveIfError( iStartupRep->Set( KStartupWelcomeNoteText, *text ) );
-
-    CleanupStack::PopAndDestroy( text );
-    }
-
-void CUISettingsSrvServer::GetStartupTextL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::GetStartupTextL" );
-
-    TBuf<WELCOME_NOTE_MAX_LENGTH> welcomeText;
-
-    User::LeaveIfError( iStartupRep->Get( KStartupWelcomeNoteText, welcomeText ) );
-
-    aMessage.Write(0, welcomeText);
-    }
-
-void CUISettingsSrvServer::GetStartupTextSizeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::GetStartupTextSizeL" );
-
-    TBuf<WELCOME_NOTE_MAX_LENGTH> welcomeText;
-
-    User::LeaveIfError( iStartupRep->Get( KStartupWelcomeNoteText, welcomeText ) );
-
-    TInt len = welcomeText.Length();
-    TPckg<TInt> lenp( len );
-    aMessage.Write(0, lenp);
-    }
-
-void CUISettingsSrvServer::SetStartupNoteTypeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::SetStartupNoteTypeL" );
-
-    TInt type = aMessage.Int0();
-
-    User::LeaveIfError( iStartupRep->Set( KStartupWelcomeNoteType, type ) );
-    }
-
-void CUISettingsSrvServer::GetStartupNoteTypeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvServer::GetStartupNoteTypeL" );
-
-    TInt type = 0;
-
-    User::LeaveIfError( iStartupRep->Get( KStartupWelcomeNoteType, type ) );
-
-    TPckg<TInt> typep( type );
-    aMessage.Write(0, typep);
-    }
-
-// -------------------------------------------------------------------------------------
-// CUISettingsSrvServer::LoadBitmapL
-// -------------------------------------------------------------------------------------
-CFbsBitmap* CUISettingsSrvServer::LoadBitmapL( const TDesC& aFileName, const TDesC8& aType )
-    {
-	RDEBUG( "CUISettingsSrvServer::LoadBitmapL" );
-
-    if( aType.Length() == 0 )
-        {
-    	RDEBUG( "CUISettingsSrvServer::LoadBitmapL ERROR Mime type is missing!" );
-        User::Leave( KErrArgument );
-        }
-
-	RDEBUG_2( "CUISettingsSrvServer::LoadBitmapL Filename:  %S", &aFileName );
-	RDEBUG8_2( "CUISettingsSrvServer::LoadBitmapL Mime type: %S", &aType );
-
-    //
-    // Convert to CFbsImages
-    //
-    const CImageDecoder::TOptions options = CImageDecoder::EOptionAlwaysThread;
-
-    CImageDecoder* img = CImageDecoder::FileNewL( 
-                            iFs,
-                            aFileName,
-                            aType,
-                            options);
-
-    RDEBUG_2( "CUISettingsSrvServer::LoadBitmapL CImageDecoder::FileNewL ALLOC %x", img );
-
-    CleanupStack::PushL( img );
-    
-    CFbsBitmap* bitmap = 0;
-
-    if( img != 0 )
-        {
-        TFrameInfo frameInfo = img->FrameInfo();
-        TRequestStatus rs( KErrNone );
-
-        bitmap = new (ELeave) CFbsBitmap();
-        RDEBUG_2( "CUISettingsSrvServer::LoadBitmapL CFbsBitmap bitmap ALLOC %x", bitmap );
-
-        CleanupStack::PushL( bitmap );
-        bitmap->Create( frameInfo.iOverallSizeInPixels, frameInfo.iFrameDisplayMode );
-
-        CFbsBitmap* mask   =  new (ELeave) CFbsBitmap();
-        RDEBUG_2( "CUISettingsSrvServer::LoadBitmapL CFbsBitmap mask ALLOC %x", mask );
-
-        CleanupStack::PushL( mask );
-        mask->Create( frameInfo.iOverallSizeInPixels, frameInfo.iFrameDisplayMode );
-
-        mask->SetDisplayMode( EGray2 );
-
-        img->Convert( &rs, *bitmap, *mask );
-        User::WaitForRequest( rs );
-
-        User::LeaveIfError( rs.Int() );
-
-        CleanupStack::PopAndDestroy( mask );
-        CleanupStack::Pop( bitmap );
-        }
-
-    CleanupStack::PopAndDestroy( img );
-
-    return bitmap;
-    }
-
-void CUISettingsSrvServer::ImageHandlingCompleteL( TInt aError )
-    {
-    if( iASWait.IsStarted() )
-    {
-        iASWait.AsyncStop();
-    }
-    iImageHandlingError = aError;
-	RDEBUG( "CUISettingsSrvServer::ImageHandlingCompleteL" );
-    }
-
-// ----------------------------------------------------------------------------------------
-// CUISettingsSrvSession
-// ----------------------------------------------------------------------------------------
-
-
-// constructor
-CUISettingsSrvSession::CUISettingsSrvSession(CUISettingsSrvServer * aServer)
-	: iServer( aServer )
-	, iListChanged( 0 )
-	{
-	RDEBUG( "CUISettingsSrvSession::CUISettingsSrvSession" );
-
-	}
-
-void CUISettingsSrvSession::ConstructL()
-	{
-	iServer->AddSession();
-	iServer->AddListChangeNotifierL( &iListChanged );
-	}
-
-CUISettingsSrvSession::~CUISettingsSrvSession()
-	{
-	RDEBUG( "CUISettingsSrvSession::~CUISettingsSrvSession" );
-
-	if( iServer != NULL )
-		{
-		TInt err = KErrNone;
-		TRAP( err, iServer->RemoveListChangeNotifierL( &iListChanged ) );
-		iServer->RemoveSession();
-		}
-	}
-
-CUISettingsSrvSession* CUISettingsSrvSession::NewL(CUISettingsSrvServer* aServer)
-	{
-	RDEBUG( "CUISettingsSrvSession::NewL" );
-
-	CUISettingsSrvSession* self =  new (ELeave) CUISettingsSrvSession( aServer );
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop();
-
-    return self;	
-	}
-
-
-void CUISettingsSrvSession::ServiceL(const RMessage2& aMessage)
-	{
-	RDEBUG( "CUISettingsSrvSession::ServiceL" );
-
-	TBool complete = ETrue;
-	TRAPD(err,complete = DispatchMessageL(aMessage));
-	if( complete )
-	    {
-	    aMessage.Complete(err);
-	    }
-	}
-
-
-
-// service a client request; test the opcode and then do appropriate servicing
-TBool CUISettingsSrvSession::DispatchMessageL(const RMessage2& aMessage)
-	{
-	RDEBUG( "CUISettingsSrvSession::DispatchMessageL" );
-
-	switch (aMessage.Function())
-        {
-    case EUISettingsSrvSetStartupImage:
-        SetStartupImageL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetStartupImagePath:
-        GetStartupImagePathL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetStartupText:
-        SetStartupTextL( aMessage );
-        return ETrue;
-	case EUISettingsSrvGetStartupText:
-        GetStartupTextL( aMessage );
-        return ETrue;
-	case EUISettingsSrvGetStartupTextSize:
-        GetStartupTextSizeL( aMessage );
-        return ETrue;
-	case EUISettingsSrvSetStartupNoteType:
-        SetStartupNoteTypeL( aMessage );
-        return ETrue;
-	case EUISettingsSrvGetStartupNoteType:
-        GetStartupNoteTypeL( aMessage );
-        return ETrue;
-    case EUISettingsSrvUpdateShortcutList:
-        GetShortcutTargetListL( );
-        return ETrue;
-	case EUISettingsSrvGetShortcutCount:
-	    GetShortcutTargetCountL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutType:
-	    GetShortcutTargetTypeL( aMessage );
-        return ETrue;    
-	case EUISettingsSrvGetShortcutTargetCaption:
-	    GetShortcutTargetCaptionL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetShortcutTargetCaption:
-        SetShortcutTargetCaptionL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutAppUid:
-	    GetShortcutTargetAppUidL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutIndexFromAT:
-	    GetShortcutTargetIndexFromATL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutIndex:
-	    GetShortcutTargetIndexL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetShortcutTargetAppIndex:
-	    SetShortcutTargetAppIndexL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutRtType:
-        GetShortcutRtTypeL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetShortcutTargetBitmap:    
-        SetShortcutTargetBitmapL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetShortcutTargetMask:
-        SetShortcutTargetBitmapL( aMessage, ETrue );
-        return ETrue;
-    case EUISettingsSrvGetShortcutTargetBitmap:    
-        GetShortcutTargetBitmapL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetShortcutTargetMask:
-        GetShortcutTargetBitmapL( aMessage, ETrue );
-        return ETrue;
-    case EUISettingsSrvGetSoftkeyBitmap:
-        GetSoftkeyBitmapL( aMessage );
-        return ETrue;
-    case EUISettingsSrvGetSoftkeyMask:
-        GetSoftkeyBitmapL( aMessage, ETrue );
-        return ETrue;
-    case EUISettingsSrvSetSoftkeyBitmap:
-        SetSoftkeyBitmapL( aMessage );
-        return ETrue;
-    case EUISettingsSrvSetSoftkeyMask:
-        SetSoftkeyBitmapL( aMessage, ETrue );
-        return ETrue;
-
-	// requests we don't understand at all are a different thing,
-	// so panic the client here, this function also completes the message
-	default:
-		PanicClient(aMessage, EBadRequest);
-		return ETrue;
-        }
-	}
-
-void CUISettingsSrvSession::SetStartupImageL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetStartupImageL" );
-    ((CUISettingsSrvServer*)Server())->SetStartupImageL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetStartupImagePathL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetStartupImagePathL" );
-    ((CUISettingsSrvServer*)Server())->GetStartupImagePathL( aMessage );
-    }
-
-void CUISettingsSrvSession::SetStartupTextL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetStartupTextL" );
-    ((CUISettingsSrvServer*)Server())->SetStartupTextL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetStartupTextL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetStartupTextL" );
-    ((CUISettingsSrvServer*)Server())->GetStartupTextL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetStartupTextSizeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetStartupTextSizeL" );
-    ((CUISettingsSrvServer*)Server())->GetStartupTextSizeL( aMessage );
-    }
-
-void CUISettingsSrvSession::SetStartupNoteTypeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetStartupNoteTypeL" );
-    ((CUISettingsSrvServer*)Server())->SetStartupNoteTypeL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetStartupNoteTypeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetStartupNoteTypeL" );
-    ((CUISettingsSrvServer*)Server())->GetStartupNoteTypeL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetListL( )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetListL" );
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetListL( );
-
-    // If short list had changed, server has notified it by settings flag
-    // Clear flag of this session, other currently connected clients will still get notified
-    // NOTE: There is no way to notify future clients about changes, there will be errors ...
-    // 
-    iListChanged = 0;
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetCountL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetCountL" );
-
-    AppListCheckL();   
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetCountL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetTypeL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetTypeL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetTypeL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetCaptionL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetCaptionL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetCaptionL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetAppUidL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetAppUidL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetAppUidL( aMessage  );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetIndexL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetIndexL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetIndexL( aMessage );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetIndexFromATL( const RMessage2 &aMessage )
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetIndexFromATL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetIndexFromATL( aMessage );
-    }
-
-void CUISettingsSrvSession::SetShortcutTargetAppIndexL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetShortcutTargetAppIndexL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->SetShortcutTargetAppIndexL( aMessage );    
-    }
-
-void CUISettingsSrvSession::GetShortcutRtTypeL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutRtTypeL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutRtTypeL( aMessage );    
-    }
-
-void CUISettingsSrvSession::SetShortcutTargetCaptionL(const RMessage2 &aMessage)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetShortcutTargetCaptionL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->SetShortcutTargetCaptionL( aMessage );
-    }
-
-void CUISettingsSrvSession::SetShortcutTargetBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetShortcutTargetBitmapL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->SetShortcutTargetBitmapL( aMessage, aIsMask );
-    }
-
-void CUISettingsSrvSession::GetShortcutTargetBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetShortcutTargetBitmapL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetShortcutTargetBitmapL( aMessage, aIsMask );
-    }
-
-void CUISettingsSrvSession::SetSoftkeyBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-	RDEBUG( "CUISettingsSrvSession::SetSoftkeyBitmapL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->SetSoftkeyBitmapL( aMessage, aIsMask );
-    }
-
-void CUISettingsSrvSession::GetSoftkeyBitmapL(const RMessage2 &aMessage, TBool aIsMask/*=EFalse*/)
-    {
-	RDEBUG( "CUISettingsSrvSession::GetSoftkeyBitmapL" );
-
-    AppListCheckL();
-    ((CUISettingsSrvServer*)Server())->GetSoftkeyBitmapL( aMessage, aIsMask );
-    }
-
-void CUISettingsSrvSession::AppListCheckL()
-    {
-	RDEBUG( "CUISettingsSrvSession::AppListCheckL" );
-
-    if( iListChanged == 1 )
-        {
-        // Shortcut list has changed during the session
-        // This session is therefore invalid and all following commands will fail
-    	RDEBUG( "CUISettingsSrvSession::AppListCheckL Invalidate session!" );
-        User::Leave( KErrCorrupt );
-        }
-    }
-
-HBufC8* CUISettingsSrvSession::CopyParameter8L( const RMessage2 &aMsg, TInt aIndex )
-    {
-	RDEBUG( "CUISettingsSrvSession::CopyParameter8L" );
-
-    TInt length = aMsg.GetDesLengthL( aIndex );
-    
-    HBufC8* buffer = HBufC8::NewL( length );
-    RDEBUG_2( "CUISettingsSrvSession::CopyParameter8L HBufC8::NewL ALLOC %x", buffer );
-
-    TPtr8 ptr( buffer->Des() );
-    aMsg.ReadL( aIndex, ptr );
-
-    return buffer;
-    }
-
-HBufC16* CUISettingsSrvSession::CopyParameter16L( const RMessage2 &aMsg, TInt aIndex )
-    {
-	RDEBUG( "CUISettingsSrvSession::CopyParameter16L" );
-
-    TInt length = aMsg.GetDesLengthL( aIndex );
-
-    HBufC16* buffer = HBufC16::NewL( length );
-    RDEBUG_2("CUISettingsSrvSession::CopyParameter16L HBufC16::NewL ALLOC %x", buffer );
-
-    TPtr16 ptr( buffer->Des() );
-    aMsg.ReadL( aIndex, ptr );
-
-    return buffer;
-    }
-
-// RMessagePtr2::Panic() also completes the message. This is:
-// (a) important for efficient cleanup within the kernel
-// (b) a problem if the message is completed a second time
-void CUISettingsSrvSession::PanicClient(const RMessagePtr2& aMessage,TInt aPanic)
-	{
-	_LIT(KTxtServer,"CountServ server");
-	aMessage.Panic(KTxtServer,aPanic);
-	}
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// ----------------------------------------------------------------------------------------
-// Global functions
-// ----------------------------------------------------------------------------------------
-
-
-
-// Panic the server
-GLDEF_C void PanicServer(TUISettingsSrvPanic aPanic)
-	{
-	_LIT(KTxtServerPanic,"UISettingsSrv server panic");
-	User::Panic(KTxtServerPanic,aPanic);
-	}
-
-
-//  End of File