customization/ScreenSaverAdapter/src/ScreenSaverAdapter.cpp
changeset 18 7d11f9a6646f
parent 4 75a71fdb4c92
child 21 c707676bf59f
--- a/customization/ScreenSaverAdapter/src/ScreenSaverAdapter.cpp	Tue Feb 02 00:03:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1376 +0,0 @@
-/*
-* 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 "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:  DM Screensaver Adapter
-*
-*/
-
-
-/*
-
-./Customization -+--> ScreenSaver --+--> AvailableScreenSavers --> <X> * ---+---> Data
-									|										|
-									|--> ActiveSc							|---> ID
-									 										|
-																			|---> Name
-																			|
-																			|---> Description
-																			|
-																			|---> CustomProperty
-																			|
-																			|---> Version
-																			|
-																			|---> InstallOptions
-
-*/
-
-
-
-#include <badesca.h>
-#include <implementationproxy.h> // For TImplementationProxy definition
-#include <sisregistrysession.h>
-#include <ScreensaverpluginIntDef.h>
-#include <mmfcontrollerpluginresolver.h> // For CleanupResetAndDestroyPushL
-
-//#ifdef __SAP_POLICY_MANAGEMENT
-#include <PolicyEngineXACML.h>
-//#endif
-
-#include "ScreenSaverAdapter.h"
-#include "ScreenSaverList.h"
-#include "nsmldmuri.h"
-#include "FileCoderB64.h"
-#include "debug.h"
-
-#include "ScreenSaverClient.h"
-#include "e32property.h"
-#include <ScreensaverInternalPSKeys.h>
-#include <featmgr.h>
-
-
-_LIT( KScreenSaverAdapterTmpInstallPath, "c:\\system\\temp\\DM_ScrSav.sisx" );
-const TInt KPostInstallTimeOut = 10000000; // 10 seconds
-_LIT8( KScreenSaverActiveRef, "Customization/ScreenSavers/AvailableScreenSavers/" );
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter* CScreenSaverAdapter::NewL( )
-// ------------------------------------------------------------------------------------------------
-CScreenSaverAdapter* CScreenSaverAdapter::NewL(MSmlDmCallback* aDmCallback )
-	{
-	CScreenSaverAdapter* self = NewLC( aDmCallback );
-	CleanupStack::Pop();
-	return self;
-	}
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter* CScreenSaverAdapter::NewLC( )
-// ------------------------------------------------------------------------------------------------
-CScreenSaverAdapter* CScreenSaverAdapter::NewLC(MSmlDmCallback* aDmCallback )
-	{
-	CScreenSaverAdapter* self = new (ELeave) CScreenSaverAdapter( aDmCallback );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter::CScreenSaverAdapter()
-// ------------------------------------------------------------------------------------------------
-
-CScreenSaverAdapter::CScreenSaverAdapter( MSmlDmCallback* aDmCallback ) //: CSmlDmAdapter()
-	: CTARMDmAdapter( aDmCallback )
-	, iCallBack( aDmCallback )
-	, iScreenSavers( 0 )
-	{
-	}
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter::ConstructL()
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::ConstructL( )
-	{
-	
-		TRAPD( errf, FeatureManager::InitializeLibL() );
-		if( errf != KErrNone )
-		{
-			User::Leave(errf);
-		}
-		if(FeatureManager::FeatureSupported(KFeatureIdSapScreensaverAdapter))
-		{
-			iScreenSavers = CScreenSaverList::NewL();
-			iScreensaverOff = EFalse;	
-		}
-		else
-		{
-			FeatureManager::UnInitializeLib();
-	   		User::Leave( KErrNotSupported );
-		}
-	}
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter::~CScreenSaverAdapter()
-// ------------------------------------------------------------------------------------------------
-
-
-CScreenSaverAdapter::~CScreenSaverAdapter()
-	{
-	TInt error;
-	FeatureManager::UnInitializeLib();
-	if (iScreensaverOff)
-	{
-		
-		error = RProperty::Define(
-        KPSUidScreenSaver,
-        KScreenSaverAllowScreenSaver,
-        RProperty::EInt,
-        ECapabilityReadUserData,
-        ECapabilityWriteUserData);
-      if(error)  
-  		  RDEBUG_2("CScreenSaverInfo::KPSUidScreenSaver defined error %d",error);
-      		
-   		error=RProperty::Set(KPSUidScreenSaver,KScreenSaverAllowScreenSaver,KEnableScreensaver);
-   		if(error)
-   		  RDEBUG_2("CScreenSaverInfo::KPSUidScreenSaver while setting error %d",error);
-  	}
-
-  	
-  	RDEBUG_2("CScreenSaverInfo::KScreenSaverOn set to one error %d",error);	
-	delete iScreenSavers;
-	iScreenSavers = 0;
-	}
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::DDFVersionL()
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::DDFVersionL(CBufBase& aDDFVersion)
-	{
-	aDDFVersion.InsertL(0,KNSmlSCDDFVersion);
-	}
-
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::DDFStructureL()
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::DDFStructureL( MSmlDmDDFObject& aDDF )
-	{
-
-
-	TSmlDmAccessTypes accessTypesGet;
-	accessTypesGet.SetGet();
-
-	TSmlDmAccessTypes accessTypesAddGet;
-	accessTypesAddGet.SetAdd();
-	accessTypesAddGet.SetGet();
-
-	TSmlDmAccessTypes accessTypesGetReplace;
-	accessTypesGetReplace.SetGet();
-	accessTypesGetReplace.SetReplace();
-
-	TSmlDmAccessTypes accessTypesReplace;
-	accessTypesReplace.SetReplace();
-
-	TSmlDmAccessTypes accessTypesGetReplaceDelete;
-	accessTypesGetReplaceDelete.SetGet();
-	accessTypesGetReplaceDelete.SetReplace();
-	accessTypesGetReplaceDelete.SetDelete();
-//sf- For testing:
-	accessTypesGetReplaceDelete.SetAdd();
-//sf- For testing ends.
-
-	/*
-	Node: ./Customization
-	This interior node is the common parent to all customization..
-	Status: Required
-	Occurs: One
-	Format: Node
-	Access Types: Get
-	Values: N/A
-	*/
-	MSmlDmDDFObject& customization = aDDF.AddChildObjectL(KNSmlCustomizationNodeName);
-	FillNodeInfoL(customization, accessTypesGet, MSmlDmDDFObject::EOne, MSmlDmDDFObject::EPermanent,
-		MSmlDmDDFObject::ENode, KNSmlSCDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers
-	ScreenSavers is a common parent node for nodes managing screen savers. .
-	Status: Required
-	Occurs: One
-	Format: Node
-	Access Types: Add,Get
-	Values: N/A
-	*/
-	MSmlDmDDFObject& screenSavers = customization.AddChildObjectL(KNSmlSCScreenSavers);
-	FillNodeInfoL(screenSavers, accessTypesGet, MSmlDmDDFObject::EOne, MSmlDmDDFObject::EPermanent,
-		MSmlDmDDFObject::ENode, KNSmlSCScreenSaversNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers
-	This is parent node for currently existing screen savers..
-	Status: Required
-	Occurs: One
-	Format: Node
-	Access Types: Add, Get
-	Values: N/A
-	*/
-	MSmlDmDDFObject& availableScreenSavers = screenSavers.AddChildObjectL(KNSmlSCAvailableScreenSaversNodeName);
-	FillNodeInfoL(availableScreenSavers, accessTypesAddGet, MSmlDmDDFObject::EZeroOrMore, MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::ENode, KNSmlSCAvailableScreenSaversNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>
-	This is a placeholder to screen saver ID identifying a screen saver.
-	Status: Required
-	Occurs: ZeroOrMore
-	Format: Node
-	Access Types: Get, Replace, Delete
-	Values: N/A
-	*/
-	MSmlDmDDFObject& dynNode = availableScreenSavers.AddChildObjectGroupL();
-	FillNodeInfoL(dynNode, accessTypesGetReplaceDelete, MSmlDmDDFObject::EZeroOrMore, MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::ENode, KNSmlSCDynamicDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/ActiveSc
-	This node is a link to the currently active screen saver.
-	Status: Required
-	Occurs: One
-	Format: Chr (reference to management tree)
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& activescNode = screenSavers.AddChildObjectL(KNSmlSCActiveScNodeName);
-	FillNodeInfoL(activescNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EPermanent,
-		MSmlDmDDFObject::EChr,KNSmlSCActiveScNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/Data
-	Replace command will install a screen saver that's in the data field of the command.
-	Status: Optional
-	Occurs: One
-	Format: bin
-	Access Types: Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& data = dynNode.AddChildObjectL(KNSmlSCDataNodeName);
-	FillNodeInfoL(data, accessTypesReplace, MSmlDmDDFObject::EOne, MSmlDmDDFObject::EPermanent,
-		MSmlDmDDFObject::EBin, KNSmlSCDataNodeDescription);
-	data.AddDFTypeMimeTypeL( SwiUI::KSisxMimeType() );
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/ID
-	This leaf node holds the ID of the screen saver
-	Status: Required
-	Occurs: One
-	Format: chr
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& idNode = dynNode.AddChildObjectL(KNSmlSCIDNodeName);
-	FillNodeInfoL(idNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::EChr,KNSmlSCIDNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/Name
-	This leaf node holds the name of the screen saver. 
-	Status: Optional
-	Occurs: One
-	Format: chr
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& nameNode = dynNode.AddChildObjectL(KNSmlSCNameNodeName);
-	FillNodeInfoL(nameNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::EChr,KNSmlSCNameNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/Description
-	This leaf node holds the description of the screen saver. 
-	Status: Optional
-	Occurs: One
-	Format: chr
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& descNode = dynNode.AddChildObjectL(KNSmlSCDescriptionNodeName);
-	FillNodeInfoL(descNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::EChr,KNSmlSCDescriptionNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/CustomProperty
-	This leaf node holds the custom property value of the screen saver. 
-	Status: Optional
-	Occurs: One
-	Format: chr
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& customNode = dynNode.AddChildObjectL(KNSmlSCCustomPropertyNodeName);
-	FillNodeInfoL(customNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::EChr,KNSmlSCCustomPropertyNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/Version
-	This leaf node holds the version of the screen saver. 
-	Status: Optional
-	Occurs: One
-	Format: chr
-	Access Types: Get, Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& verNode = dynNode.AddChildObjectL(KNSmlSCVersionNodeName);
-	FillNodeInfoL(verNode,accessTypesGetReplace,MSmlDmDDFObject::EOne,MSmlDmDDFObject::EDynamic,
-		MSmlDmDDFObject::EChr,KNSmlSCVersionNodeDescription);
-
-	/*
-	Node: ./Customization/ScreenSavers/AvailableScreenSavers/<X>/InstallOptions
-	Holds the install options for next install. 
-	Status: Optional 
-	Occurs: One
-	Format: Chr
-	Access Types: Replace
-	Values: N/A
-	*/
-	MSmlDmDDFObject& installOptionsNode = dynNode.AddChildObjectL(KNSmlSCInstallOptionsNodeName);
-	FillNodeInfoL(installOptionsNode, accessTypesReplace, MSmlDmDDFObject::EOne, MSmlDmDDFObject::EPermanent,
-		MSmlDmDDFObject::EChr, KNSmlSCInstallOptionsNodeDescription);
-
-
-
-
-	}
-
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::UpdateLeafObjectL()
-//  
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_UpdateLeafObjectL( const TDesC8& aURI, const TDesC8& /*aLUID*/, const TDesC8& aObject, const TDesC8& /*aType*/, const TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::UpdateLeafObjectL(): begin");
-
-	TError ret = EOk ;
-	
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TNodeId nodeId = NodeId( uriPtrc );
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( uriPtrc );
-#else
-	TNodeId nodeId = NodeId( aURI );
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( aURI );
-#endif	
-	
-	TPtrC8 screenSaverId = NSmlDmURI::LastURISeg( parentURI );
-	HBufC8* parentLUID = iCallBack->GetLuidAllocL( parentURI );
-	CleanupStack::PushL( parentLUID );
-	
-	switch( nodeId )
-		{
-	case ENodeActiveSc:
-		{
-		TPtrC8 activeName = NSmlDmURI::LastURISeg( aObject );
-
-		HBufC8* fullName = HBufC8::NewLC( KScreenSaverActiveRef().Length() + activeName.Length() + 1 );
-		fullName->Des().Copy( KScreenSaverActiveRef );
-		fullName->Des().Append( activeName );
-		HBufC8* luid = iCallBack->GetLuidAllocL( *fullName );
-		CleanupStack::PushL( luid );
-
-		ret = iScreenSavers->SetActiveL( *luid  );
-		if( ret == MSmlDmAdapter::EOk )
-			{
-			iScreensaverOff = ETrue;
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, *fullName );
-#else
-			iCallBack->SetMappingL( aURI, *fullName );
-#endif			
-			}
-		
-		CleanupStack::PopAndDestroy( luid );
-		CleanupStack::PopAndDestroy( fullName );
-		break;
-		}
-	case ENodeData:
-		{
-		RFs fs;
-		User::LeaveIfError( fs.Connect() );
-		CleanupClosePushL( fs );
-
-		TFileCoderB64 decoder;
-		TPtrC fileName( KScreenSaverAdapterTmpInstallPath );
-		TBool isEncoded = TFileCoderB64::CheckB64Encode( aObject );
-		if( isEncoded )
-			{
-			decoder.DecodeToL( aObject, fileName );
-			}
-		else
-			{
-			// aObject is original data, save it to fileName
-			RFile file;
-			User::LeaveIfError( file.Replace( fs, fileName, EFileWrite));
-			CleanupClosePushL( file );
-			User::LeaveIfError( file.Write( aObject ) );
-			
-			CleanupStack::PopAndDestroy(); // file
-			}		
-
-		// Get current status of installed packages and screen savers
-		RArray< TUid > oldPackages;
-		CleanupClosePushL( oldPackages );
-
-		RArray< TUid > newPackages;
-		CleanupClosePushL( newPackages );
-
-		CDesCArrayFlat* oldScreenSavers = new (ELeave) CDesCArrayFlat( 8 );
-		CleanupStack::PushL( oldScreenSavers );
-
-		CDesCArrayFlat* newScreenSavers = new (ELeave) CDesCArrayFlat( 8 );
-		CleanupStack::PushL( newScreenSavers );
-
-		InstalledPackagesL( oldPackages );
-		InstalledScreenSaversL( *oldScreenSavers );
-		
-		
-		  
-		User::ResetInactivityTime(); 	
-		TInt  error = RProperty::Define(
-        KPSUidScreenSaver,
-        KScreenSaverAllowScreenSaver,
-        RProperty::EInt,
-        ECapabilityReadUserData,
-        ECapabilityWriteUserData);
-        
-	 	error=RProperty::Set(KPSUidScreenSaver,KScreenSaverAllowScreenSaver,KDisableScreensaver);
-		iScreensaverOff = ETrue;
-		// Open ECom session and setup notifier
-		REComSession& ecom = REComSession::OpenL();
-		CleanupClosePushL( ecom );
-		TRequestStatus ecomStatus;
-
-		// Install screen saver
-		ret = iScreenSavers->InstallL( fileName );
-
-		ecom.NotifyOnChange( ecomStatus );
-
-		// Wait until ECom server finds new plugin
-		if (ret == EOk)
-			{
-			TRequestStatus timeoutStatus;
-			RTimer timeout;
-			User::LeaveIfError( timeout.CreateLocal() );
-			CleanupClosePushL( timeout );
-			timeout.After( timeoutStatus, KPostInstallTimeOut );
-
-			User::WaitForRequest( ecomStatus, timeoutStatus );
-
-			if( timeoutStatus.Int() == KRequestPending)
-				{
-				timeout.Cancel();
-				User::WaitForRequest( timeoutStatus );
-				}
-			CleanupStack::PopAndDestroy( &timeout );
-			}
-
-		// Close ECom session
-		if (ecomStatus.Int() == KRequestPending)
-			{
-			ecom.CancelNotifyOnChange( ecomStatus );
-			User::WaitForRequest( ecomStatus );
-			}
-		CleanupStack::PopAndDestroy( &ecom );
-			
-		// Find out which package and screen savers where installed
-		InstalledPackagesL( newPackages );
-		InstalledScreenSaversL( *newScreenSavers );
-
-		TInt count = 0;
-		TInt i = 0;
-
-		count = oldPackages.Count();
-		for (i = 0 ; i < count ; i++)
-			{
-			TInt idx = newPackages.FindInSignedKeyOrder( oldPackages[ i ] );
-			if (idx >= 0)
-				{
-				newPackages.Remove( idx );
-				}
-			}
-
-		count = oldScreenSavers->Count();
-		for (i = 0 ; i < count ; i++)
-			{
-			TInt idx = 0;
-			TInt err = newScreenSavers->Find( (*oldScreenSavers)[ i ], idx );
-			if (err == 0)
-				{
-				newScreenSavers->Delete( idx );
-				}
-			}
-
-		RDEBUG_3("newPackages.Count() (%d) newScreenSavers->Count() (%d)", newPackages.Count(), newScreenSavers->Count());
-
-		// Save package uid to DMTree with LUID mapping
-		// We can handle only situation where only one new package is found.
-		if (newPackages.Count() == 1 && newScreenSavers->Count() > 0)
-			{
-			TUid pkgUid = newPackages[ 0 ];
-
-			HBufC8* luid = HBufC8::NewL( KMaxUidName + 1 + (*newScreenSavers)[0].Length() );
-			CleanupStack::PushL( luid );
-			TPtr8 luidPtr = luid->Des();
-			luidPtr.Copy( pkgUid.Name() );
-			luidPtr.Append( KPkgId_ScrId_Separator );
-			luidPtr.Append( (*newScreenSavers)[0] );
-			
-			RDEBUG8_2("CScreenSaverAdapter::UpdateLeafObjectL() Luid for new screensaver (%S)", &luidPtr);
-			iCallBack->SetMappingL( parentURI, *luid );
-
-			CleanupStack::PopAndDestroy( luid );
-			}
-		else
-			{
-			ret = EError;
-			}
-			
-		// Remove temporary installations file
-		fs.Delete( fileName );
-
-		// Cleanup
-		CleanupStack::PopAndDestroy( newScreenSavers );
-		CleanupStack::PopAndDestroy( oldScreenSavers );
-		CleanupStack::PopAndDestroy( &newPackages );
-		CleanupStack::PopAndDestroy( &oldPackages );
-		CleanupStack::PopAndDestroy( &fs );
-		}
-		break;
-
-	case ENodeInstallOptions:
-		ret = iScreenSavers->SetInstallOptionsL( aObject );
-		break;
-
-	case ENodeName:
-		if (aObject.Length() > 0)
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, aObject );
-#else			
-			iCallBack->SetMappingL( aURI, aObject );
-#endif			
-			}
-		else
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, _L8(" ") );
-#else			
-			iCallBack->SetMappingL( aURI, _L8(" ") );
-#endif			
-			
-			}
-
-		if (parentLUID->Length() > 1)
-			{
-			screenSaverId.Set( *parentLUID );
-			ret = iScreenSavers->SetNameL( screenSaverId, aObject );
-			}
-		else
-			{
-			ret = EError;
-			}
-		break;
-
-	case ENodeDescription:
-		if (aObject.Length() > 0)
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, aObject );
-#else			
-			iCallBack->SetMappingL( aURI, aObject );
-#endif	
-			}
-		else
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, _L8(" ") );
-#else			
-			iCallBack->SetMappingL( aURI, _L8(" ") );
-#endif		
-			}
-
-		if (parentLUID->Length() > 1)
-			{
-			screenSaverId.Set( *parentLUID );
-			ret = iScreenSavers->SetDescriptionL( screenSaverId, aObject );
-			}
-		else
-			{
-			ret = EError;
-			}
-		
-		break;
-
-	case ENodeCustomProperty:
-		if (aObject.Length() > 0)
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, aObject );
-#else			
-			iCallBack->SetMappingL( aURI, aObject );
-#endif
-			}
-		else
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, _L8(" ") );
-#else			
-			iCallBack->SetMappingL( aURI, _L8(" ") );
-#endif	
-			}
-
-		if (parentLUID->Length() > 1)
-			{
-			screenSaverId.Set( *parentLUID );
-			ret = iScreenSavers->SetCustomPropertyL( screenSaverId, aObject );
-			}
-		else
-			{
-			ret = EError;
-			}
-		
-		break;
-
-	case ENodeVersion:
-		if (aObject.Length() > 0)
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, aObject );
-#else			
-			iCallBack->SetMappingL( aURI, aObject );
-#endif
-			}
-		else
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-			iCallBack->SetMappingL( uriPtrc, _L8(" ") );
-#else			
-			iCallBack->SetMappingL( aURI, _L8(" ") );
-#endif
-			}
-
-		if (parentLUID->Length() > 1)
-			{
-			screenSaverId.Set( *parentLUID );
-			ret = iScreenSavers->SetVersionL( screenSaverId, aObject );
-			}
-		else
-			{
-			ret = EError;
-			}
-		
-		break;
-
-	case ENodeUnknown:
-		ret = ENotFound;
-		break;
-
-	default:
-		ret = EError;
-		break;
-		}
-
-	CleanupStack::PopAndDestroy( parentLUID );
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-	RDEBUG("CScreenSaverAdapter::UpdateLeafObjectL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_UpdateLeafObjectL( const TDesC8& /*aURI*/, const TDesC8& /*aLUID*/, RWriteStream*& /*aStream*/, const TDesC8& /*aType*/, TInt aStatusRef )
-	{
-	RDEBUG( "CScreenSaverAdapter::UpdateLeafObjectL(...RWriteStream...): begin" );
-	//Not supported
-	TError ret = EError;
-	iCallBack->SetStatusL( aStatusRef, ret );
-	}
-
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter::DeleteObjectL( const TDesC& aURI, const TDesC& aLUID )
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_DeleteObjectL( const TDesC8& aURI, const TDesC8& aLUID, const TInt aStatusRef )
-	{
-	RDEBUG( "CScreenSaverAdapter::DeleteObjectL(): begin" );
-	TError ret = EOk ;
-	
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TNodeId nodeId = NodeId( uriPtrc );
-	TPtrC8 screenSaverId = NSmlDmURI::LastURISeg( uriPtrc );
-#else
-	TNodeId nodeId = NodeId( aURI );
-	TPtrC8 screenSaverId = NSmlDmURI::LastURISeg( aURI );
-#endif	
-
-	switch( nodeId )
-		{
-	case ENodeAvailableScreenSaversX:
-		{
-#ifdef __TARM_SYMBIAN_CONVERGENCY	
-		TPtrC8 parentURI = NSmlDmURI::ParentURI( uriPtrc );
-#else	
-		TPtrC8 parentURI = NSmlDmURI::ParentURI( aURI );
-#endif	
-		HBufC8* parentLUID = iCallBack->GetLuidAllocL( parentURI );
-		CleanupStack::PushL( parentLUID );
-
-		// Set default return code to ENotFound in case we can't event try to delete package
-		ret = ENotFound;
-
-		if (aLUID != *parentLUID)
-			{
-			ret = iScreenSavers->DeleteL( aLUID );
-			}
-
-		CleanupStack::PopAndDestroy( parentLUID );
-		}
-		break;
-
-	case ENodeUnknown:
-		ret = ENotFound;
-		break;
-
-	default:
-		ret = EError;
-		break;
-		}
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-	RDEBUG( "CScreenSaverAdapter::DeleteObjectL(): end" );
-	}
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::GetLeafObjectL()
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::GetLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, const TDesC8& /*aType*/, CBufBase& aResult, TError& aRet )
-	{	
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TNodeId nodeId = NodeId( uriPtrc );
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( uriPtrc );
-#else
-	TNodeId nodeId = NodeId( aURI );
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( aURI );
-#endif		
-	
-	TPtrC8 screenSaverId = NSmlDmURI::LastURISeg( parentURI );
-
-	HBufC8* parentLUID = iCallBack->GetLuidAllocL( parentURI );
-	CleanupStack::PushL( parentLUID );
-
-	HBufC8* trimmedLUID = aLUID.AllocL();
-	CleanupStack::PushL( trimmedLUID );
-	trimmedLUID->Des().Trim();
-
-	switch( nodeId )
-		{
-	case ENodeActiveSc:
-		{
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-		HBufC8* luid = iCallBack->GetLuidAllocL( uriPtrc );
-#else
-		HBufC8* luid = iCallBack->GetLuidAllocL( aURI );
-#endif		
-		CleanupStack::PushL( luid );
-		aResult.InsertL( aResult.Size(), *luid );
-		CleanupStack::PopAndDestroy( luid );
-		}
-		break;
-
-	case ENodeID:
-		{
-		if (parentLUID->Length() > 1)
-			{
-			screenSaverId.Set( *parentLUID );
-			}
-		aRet = iScreenSavers->GetIdL( screenSaverId, aResult );
-		}
-		break;
-
-	case ENodeName:
-		if ( trimmedLUID->Length() > 0 && *trimmedLUID != *parentLUID)
-			{
-			aResult.InsertL( aResult.Size(), aLUID );
-			}
-		else
-			{
-			if (parentLUID->Length() > 1)
-				{
-				screenSaverId.Set( *parentLUID );
-				}
-			aRet = iScreenSavers->GetNameL( screenSaverId, aResult );
-			}
-		break;
-
-	case ENodeDescription:
-		if ( trimmedLUID->Length() > 0 && *trimmedLUID != *parentLUID)
-			{
-			aResult.InsertL( aResult.Size(), aLUID );
-			}
-		else
-			{
-			if (parentLUID->Length() > 1)
-				{
-				screenSaverId.Set( *parentLUID );
-				}
-			aRet = iScreenSavers->GetDescriptionL( screenSaverId, aResult );
-			}
-		break;
-
-	case ENodeCustomProperty:
-		if ( trimmedLUID->Length() > 0 && *trimmedLUID != *parentLUID)
-			{
-			aResult.InsertL( aResult.Size(), aLUID );
-			}
-		else
-			{
-			if (parentLUID->Length() > 1)
-				{
-				screenSaverId.Set( *parentLUID );
-				}
-			aRet = iScreenSavers->GetCustomPropertyL( screenSaverId, aResult );
-			}
-		break;
-
-	case ENodeVersion:
-		if ( trimmedLUID->Length() > 0 && *trimmedLUID != *parentLUID)
-			{
-			aResult.InsertL( aResult.Size(), aLUID );
-			}
-		else
-			{
-			if (parentLUID->Length() > 1)
-				{
-				screenSaverId.Set( *parentLUID );
-				}
-			aRet = iScreenSavers->GetVersionL( screenSaverId, aResult );
-			}
-		break;
-
-	case ENodeUnknown:
-		aRet = ENotFound;
-		break;
-
-	default:
-		aRet = EError;
-		break;
-		}
-
-	CleanupStack::PopAndDestroy( trimmedLUID );
-	CleanupStack::PopAndDestroy( parentLUID );
-	}
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::FetchLeafObjectL( const TDesC& aURI, const TDesC& aLUID, const TDesC& aType, CBufBase& aObject )
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_FetchLeafObjectL( const TDesC8& aURI, const TDesC8& aLUID, const TDesC8& aType, const TInt aResultsRef, const TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::FetchLeafObjectL(): begin");
-	TError ret = EOk ;
-
-	CBufBase *result = CBufFlat::NewL( 128 );
-	CleanupStack::PushL( result );
-
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	GetLeafObjectL( uriPtrc, aLUID, aType, *result, ret );
-#else
-	GetLeafObjectL( aURI, aLUID, aType, *result, ret );
-#endif
-
-	if( ret == EOk )
-		{
-		iCallBack->SetResultsL( aResultsRef, *result, KNullDesC8 );
-		}
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-
-	CleanupStack::PopAndDestroy( result );
-	RDEBUG("CScreenSaverAdapter::FetchLeafObjectL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_FetchLeafObjectSizeL( const TDesC8& aURI, const TDesC8& aLUID, const TDesC8& aType, TInt aResultsRef, TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::FetchLeafObjectSizeL(): begin");
-	TError ret = EOk ;
-
-	CBufBase *result = CBufFlat::NewL( 128 );
-	CleanupStack::PushL( result );
-
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	GetLeafObjectL( uriPtrc, aLUID, aType, *result, ret );
-#else
-	GetLeafObjectL( aURI, aLUID, aType, *result, ret );
-#endif
-
-	if (ret == EOk)
-		{
-		TBuf8<20> len;
-		len.AppendNum( result->Size() );
-		result->Reset();
-		result->InsertL( 0, len );
-
-		iCallBack->SetResultsL( aResultsRef, *result, KNullDesC8() );
-		}
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-
-	CleanupStack::PopAndDestroy( result );
-	RDEBUG("CScreenSaverAdapter::FetchLeafObjectSizeL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//  CScreenSaverAdapter::ChildURIListL( const TDesC& aURI, const TDesC& aParentLUID, const CArrayFix<TNSmlDmMappingInfo>& aPreviousURISegmentList, CArrayFix<TPtrC>& aCurrentURISegmentList )
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_ChildURIListL( const TDesC8& aURI, const TDesC8& /*aParentLUID*/, const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList, const TInt aResultsRef, const TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::ChildURIListL(): begin");
-	TError ret = EOk;
-
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TNodeId nodeId = NodeId( uriPtrc );
-#else
-	TNodeId nodeId = NodeId( aURI );
-#endif	
-
-	CBufBase *result = CBufFlat::NewL( 128 );
-	CleanupStack::PushL( result );
-
-	switch( nodeId )
-		{
-	case ENodeCustomization:
-		result->InsertL( result->Size(), KNSmlSCScreenSavers() );
-		break;
-	case ENodeScreenSavers:
-		result->InsertL( result->Size(), KNSmlSCAvailableScreenSaversNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCActiveScNodeName() );
-		break;
-	case ENodeAvailableScreenSavers:
-		ret = iScreenSavers->GetScreenSaverListL( aPreviousURISegmentList, *result );
-		break;
-	case ENodeActiveSc:
-		break;
-	case ENodeInstallOptions:
-		break;
-	case ENodeAvailableScreenSaversX:
-		result->InsertL( result->Size(), KNSmlSCDataNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCIDNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCNameNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCDescriptionNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCCustomPropertyNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCVersionNodeName() );
-		result->InsertL( result->Size(), KSlash() );
-		result->InsertL( result->Size(), KNSmlSCInstallOptionsNodeName() );
-		break;
-	case ENodeData:
-		break;
-	case ENodeID:
-		break;
-	case ENodeName:
-		break;
-	case ENodeDescription:
-		break;
-	case ENodeCustomProperty:
-		break;
-	case ENodeVersion:
-		break;
-
-	case ENodeUnknown:
-		ret = ENotFound;
-		break;
-
-	default:
-		ret = EError;
-		break;
-		}
-
-	if( ret == EOk )
-		{
-		iCallBack->SetResultsL( aResultsRef, *result, KNullDesC8 );
-		}
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-
-	CleanupStack::PopAndDestroy( result );
-	RDEBUG("CScreenSaverAdapter::ChildURIListL(): end");
-	}
-
-
-// ------------------------------------------------------------------------------------------------
-// CScreenSaverAdapter::AddNodeObjectL( const TDesC& aURI, const TDesC& aParentLUID )
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_AddNodeObjectL( const TDesC8& aURI, const TDesC8& /*aParentLUID*/, const TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::AddNodeObjectL(): begin");
-	TError ret = EOk ;
-	
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( uriPtrc );
-#else
-	TPtrC8 parentURI = NSmlDmURI::ParentURI( aURI );
-#endif	
-
-	TNodeId parentNodeId = NodeId( parentURI );
-
-	
-	HBufC8* parentLUID = iCallBack->GetLuidAllocL( parentURI );
-	CleanupStack::PushL( parentLUID );
-
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	HBufC8* trimmedLUID = iCallBack->GetLuidAllocL( uriPtrc );
-#else
-	HBufC8* trimmedLUID = iCallBack->GetLuidAllocL( aURI );
-#endif
-	
-	CleanupStack::PushL( trimmedLUID );
-	trimmedLUID->Des().Trim();
-
-
-	switch( parentNodeId )
-		{
-	case ENodeAvailableScreenSavers:
-		// Set LUID mapping to make this new node permanent
-		if ( trimmedLUID->Length() > 0 && *trimmedLUID != *parentLUID)
-			{
-			ret = EAlreadyExists;
-			}
-		else
-			{
-#ifdef __TARM_SYMBIAN_CONVERGENCY			
-			iCallBack->SetMappingL( uriPtrc, _L8(" ") );
-#else
-			iCallBack->SetMappingL( aURI, _L8(" ") );			
-#endif			
-			}
-		break;
-
-	default:
-		ret = EError;
-		break;
-		}
-
-	// Cleanup
-	CleanupStack::Pop( trimmedLUID );
-	CleanupStack::Pop( parentLUID );
-
-	iCallBack->SetStatusL( aStatusRef, ret );
-	RDEBUG("CScreenSaverAdapter::AddNodeObjectL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_ExecuteCommandL( const TDesC8& /*aURI*/, const TDesC8& /*aLUID*/, const TDesC8& /*aArgument*/, const TDesC8& /*aType*/, TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::ExecuteCommandL(): begin");
-	// Not supported for any node
-	CSmlDmAdapter::TError ret = CSmlDmAdapter::EError;
-	iCallBack->SetStatusL(aStatusRef, ret);
-	RDEBUG("CScreenSaverAdapter::ExecuteCommandL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_ExecuteCommandL( const TDesC8& /*aURI*/, const TDesC8& /*aLUID*/, RWriteStream*& /*aStream*/, const TDesC8& /*aType*/, TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::ExecuteCommandL(...RWriteStream...): begin");
-	//Not supported
-	TError ret = EError;
-	iCallBack->SetStatusL( aStatusRef, ret );
-	}
-	
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::_CopyCommandL( const TDesC8& /*aTargetURI*/, const TDesC8& /*aTargetLUID*/, const TDesC8& /*aSourceURI*/, const TDesC8& /*aSourceLUID*/, const TDesC8& /*aType*/, TInt aStatusRef )
-	{
-	RDEBUG("CScreenSaverAdapter::CopyCommandL(): begin");
-	//Not supported
-	TError ret = EError;
-	iCallBack->SetStatusL( aStatusRef, ret );
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::StartAtomicL()
-	{
-	RDEBUG("CScreenSaverAdapter::StartAtomicL(): begin");
-	//Not supported
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::CommitAtomicL()
-	{
-	RDEBUG("CScreenSaverAdapter::CommitAtomicL(): begin");
-	//Not supported
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::RollbackAtomicL()
-	{
-	RDEBUG("CScreenSaverAdapter::RollbackAtomicL(): begin");
-	//Not supported
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-TBool CScreenSaverAdapter::StreamingSupport( TInt& /*aItemSize*/ )
-	{
-	RDEBUG("CScreenSaverAdapter::StreamingSupport(): begin");
-	return EFalse;
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-#ifdef __TARM_SYMBIAN_CONVERGENCY	
-void CScreenSaverAdapter::StreamCommittedL( RWriteStream& /*aStream*/ )
-#else
-void CScreenSaverAdapter::StreamCommittedL()
-#endif	
-	{	
-	RDEBUG("CScreenSaverAdapter::StreamCommittedL(): begin");
-	RDEBUG("CScreenSaverAdapter::StreamCommittedL(): end");
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-void CScreenSaverAdapter::CompleteOutstandingCmdsL()
-	{
-	RDEBUG("CScreenSaverAdapter::CompleteOutstandingCmdsL(): begin");
-	}
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-//#ifdef __SAP_POLICY_MANAGEMENT
-TPtrC8 CScreenSaverAdapter::PolicyRequestResourceL( const TDesC8& /*aURI*/ )
-	{
-	if(!FeatureManager::FeatureSupported(KFeatureIdSapPolicyManagement ))
-	{
-		User::Leave(KErrNotSupported);
-		
-	}
-		return PolicyEngineXACML::KCustomizationManagement();	
-	}
-//#endif
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-CScreenSaverAdapter::TNodeId CScreenSaverAdapter::NodeId( const TDesC8& aURI )
-	{
-	TNodeId id = ENodeUnknown;
-
-#ifdef __TARM_SYMBIAN_CONVERGENCY
-	TPtrC8 uriPtrc = NSmlDmURI::RemoveDotSlash( aURI );
-	TInt cnt = NSmlDmURI::NumOfURISegs( uriPtrc );
-	TPtrC8 app = NSmlDmURI::LastURISeg( uriPtrc );
-#else
-	TInt cnt = NSmlDmURI::NumOfURISegs( aURI );
-	TPtrC8 app = NSmlDmURI::LastURISeg( aURI );
-#endif
-
-/*
-./Customization -+--> ScreenSaver --+----> CurrentScreenSavers --> <X> * ---+-----> ID
-									|										|
-									|----> ActiveSc							|-----> Name
-									|										|
-									|----> InstallScreenSaver				|-----> Description
-									|										|
-									|----> InstallOptions					|-----> CustomProperty
-																			|
-																			|-----> Version
-																																
-*/
-
-	if ( cnt == 1 )
-		{
-		if (app == KNSmlCustomizationNodeName)
-			{
-			id = ENodeCustomization;
-			}
-		}
-	else if ( cnt == 2 ) 
-		{
-		if (app == KNSmlSCScreenSavers)
-			{
-			id = ENodeScreenSavers;
-			}
-		}
-	else if ( cnt == 3 ) 
-		{
-		if (app == KNSmlSCAvailableScreenSaversNodeName)
-			{
-			id = ENodeAvailableScreenSavers;
-			}
-		else if (app == KNSmlSCActiveScNodeName)
-			{
-			id = ENodeActiveSc;
-			}
-		}
-	else if ( cnt == 4 ) 
-		{
-		id = ENodeAvailableScreenSaversX;
-		}
-	else if ( cnt == 5 ) 
-		{
-		if (app == KNSmlSCDataNodeName)
-			{
-			id = ENodeData;
-			}
-		else if (app == KNSmlSCIDNodeName)
-			{
-			id = ENodeID;
-			}
-		else if (app == KNSmlSCNameNodeName)
-			{
-			id = ENodeName;
-			}
-		else if (app == KNSmlSCDescriptionNodeName)
-			{
-			id = ENodeDescription;
-			}
-		else if (app == KNSmlSCCustomPropertyNodeName)
-			{
-			id = ENodeCustomProperty;
-			}
-		else if (app == KNSmlSCVersionNodeName)
-			{
-			id = ENodeVersion;
-			}
-		else if (app == KNSmlSCInstallOptionsNodeName)
-			{
-			id = ENodeInstallOptions;
-			}
-		}
-
-	return id;
-	}
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-const TImplementationProxy ImplementationTable[] = 
-	{
-	{ {KNSmlDMScreenSaverAdapterImplUid}, (TProxyNewLPtr)CScreenSaverAdapter::NewL }
-	};
-
-// ------------------------------------------------------------------------------------------------
-//
-// ------------------------------------------------------------------------------------------------
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-	{
-	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-	return ImplementationTable;
-	}
-
-// -------------------------------------------------------------------------------------
-// CScreenSaverAdapter::FillNodeInfoL()
-// Fills the node info in ddf structure
-// -------------------------------------------------------------------------------------
-void CScreenSaverAdapter::FillNodeInfoL( MSmlDmDDFObject& aNode,TSmlDmAccessTypes aAccTypes,
-										MSmlDmDDFObject::TOccurence aOccurrence, MSmlDmDDFObject::TScope aScope, 
-										MSmlDmDDFObject::TDFFormat aFormat,const TDesC8& aDescription )
-	{
-	aNode.SetAccessTypesL(aAccTypes);
-	aNode.SetOccurenceL(aOccurrence);
-	aNode.SetScopeL(aScope);
-	aNode.SetDFFormatL(aFormat);
-	if(aFormat!=MSmlDmDDFObject::ENode)
-		{
-		aNode.AddDFTypeMimeTypeL(KNSmlSCTextPlain);
-		}
-	aNode.SetDescriptionL(aDescription);
-	}
-
-// -------------------------------------------------------------------------------------
-// CScreenSaverAdapter::IsImage()
-// Checks whether the given mime type is image format (that we support)
-// -------------------------------------------------------------------------------------
-TBool CScreenSaverAdapter::IsImage(const TDesC8& aMime) 
-	{
-	
-	if (aMime == _L8("image/jpeg") || aMime == _L8("image/gif")) 
-		{
-			return ETrue;
-		}
-	return EFalse;
-	}
-
-// -------------------------------------------------------------------------------------
-// CScreenSaverAdapter::
-// -------------------------------------------------------------------------------------
-void CScreenSaverAdapter::InstalledPackagesL( RArray< TUid >& aUids )
-	{
-	Swi::RSisRegistrySession reg;
-	User::LeaveIfError( reg.Connect() );
-	CleanupClosePushL( reg );
-
-	reg.InstalledUidsL( aUids );
-	aUids.SortSigned( );
-
-	CleanupStack::PopAndDestroy( &reg );
-	}
-
-
-
-// -------------------------------------------------------------------------------------
-// CScreenSaverAdapter::
-// -------------------------------------------------------------------------------------
-void CScreenSaverAdapter::InstalledScreenSaversL( CDesCArray& aIds )
-	{
-	RDEBUG("	-> CScreenSaverAdapter: GetScreenSaverList ... START!");
-	
-	RScreenSaverClient ssClient;
-	User::LeaveIfError( ssClient.Connect() );
-	CleanupClosePushL( ssClient );
-	ssClient.GetScreenSaverListL(aIds );
-	CleanupStack::PopAndDestroy( &ssClient );
-	
-	RDEBUG("	-> CScreenSaverAdapter: GetScreenSaverList ... END!");
-	}
-
-