diff -r 000000000000 -r 3ce708148e4d customization/ScreenSaverAdapter/inc/ScreenSaverList.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/customization/ScreenSaverAdapter/inc/ScreenSaverList.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,145 @@ +/* +* 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 List +* +*/ + + + +#ifndef __ScreenSaverList_H__ +#define __ScreenSaverList_H__ + +// ------------------------------------------------------------------------------------------------ +// Includes +// ------------------------------------------------------------------------------------------------ +#include +#include +#include + +// Constants +const TInt KPkgId_ScrId_Separator = ':'; +const TInt KDisableScreensaver = 1; +const TInt KEnableScreensaver = 0; + + +// ------------------------------------------------------------------------------------------------ +// CScreenSaverInfo +// ------------------------------------------------------------------------------------------------ +class CScreenSaverInfo : public CBase + { +public: + static CScreenSaverInfo* NewL( const TDesC& aId ); + static CScreenSaverInfo* NewLC( const TDesC& aId ); + + virtual ~CScreenSaverInfo(); + + // Other + const TDesC8& Id(); + + const TDesC8& Name(); + void SetNameL( const TDesC8& aName ); + void SetNameL( const TDesC& aName ); + + const TDesC8& Description(); + void SetDescriptionL( const TDesC8& aDescription ); + + const TDesC8& CustomProperty(); + void SetCustomPropertyL( const TDesC8& aCustomProperty ); + + const TDesC8& Version(); + void SetVersionL( const TDesC8& aVersion ); + + void ActivateL(); + + enum TScreenSaverType + { + EText = 0, + EDateTime = 1, + EObject = 3 + }; + + TScreenSaverType TypeId(); + TBool IsActivatedL(); + const TDesC8& FileName(); + + +protected: + +private: + CScreenSaverInfo( ); + void ConstructL( const TDesC& aId ); + +private: + HBufC8* iId; + HBufC8* iName; + HBufC8* iDescription; + HBufC8* iCustomProperty; + HBufC8* iVersion; + }; + +// ------------------------------------------------------------------------------------------------ +// CScreenSaverList +// ------------------------------------------------------------------------------------------------ +class CScreenSaverList : public CBase + { +public: + static CScreenSaverList* NewL( ); + static CScreenSaverList* NewLC( ); + + virtual ~CScreenSaverList(); + + MSmlDmAdapter::TError GetScreenSaverListL( const CArrayFix& aPreviousList, CBufBase& aList ); + + MSmlDmAdapter::TError GetIdL( const TDesC8& aId, CBufBase& aResult ); + + MSmlDmAdapter::TError GetNameL( const TDesC8& aId, CBufBase& aResult ); + MSmlDmAdapter::TError SetNameL( const TDesC8& aId, const TDesC8& aData ); + + MSmlDmAdapter::TError GetDescriptionL( const TDesC8& aId, CBufBase& aResult ); + MSmlDmAdapter::TError SetDescriptionL( const TDesC8& aId, const TDesC8& aData ); + + MSmlDmAdapter::TError GetCustomPropertyL( const TDesC8& aId, CBufBase& aResult ); + MSmlDmAdapter::TError SetCustomPropertyL( const TDesC8& aId, const TDesC8& aData ); + + MSmlDmAdapter::TError GetVersionL( const TDesC8& aId, CBufBase& aResult ); + MSmlDmAdapter::TError SetVersionL( const TDesC8& aId, const TDesC8& aVersion ); + + MSmlDmAdapter::TError GetActiveL( CBufBase& aResult ); + MSmlDmAdapter::TError SetActiveL( const TDesC8& aId ); + + MSmlDmAdapter::TError SetInstallOptionsL( const TDesC8& aOptions ); + MSmlDmAdapter::TError InstallL( const TDesC& aFileName ); + + MSmlDmAdapter::TError DeleteL( const TDesC8& aLUID ); + +private: + CScreenSaverList( ); + void ConstructL( ); + + void CheckUpdatesL(); + void LoadL(); + TBool LoadPluginsL( const TDesC& aPath ); + + CScreenSaverInfo* FindByIdL( const TDesC8& aId ); + TPtrC8 ScreenSaverIdFromLUID( const TDesC8& aLUID ); + void GetDefaultInstallOptions( SwiUI::TInstallOptions& aOptions ); + +private: + TBool iDirty; + CArrayPtr< CScreenSaverInfo >* iScreenSavers; + SwiUI::TInstallOptions iInstallOptions; + }; + + +#endif // __ScreenSaverList_H__