diff -r 924385140d98 -r c2c61fdca848 appfw/apparchitecture/tef/refnativeplugin/sisregistrywritablesession.h --- a/appfw/apparchitecture/tef/refnativeplugin/sisregistrywritablesession.h Tue Aug 31 15:24:25 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,214 +0,0 @@ -/* -* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* RSisRegistryWritableSession - restricted client registry session interface -* -*/ - - -/** - @file - @internalTechnology - @released -*/ - -#ifndef __SISREGISTRYWRITABLESESSION_H__ -#define __SISREGISTRYWRITABLESESSION_H__ - -#include -#include -#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK -#include -#endif -namespace Swi -{ -class CApplication; -class CSisRegistryPackage; - -namespace Sis - { - class CController; - } - -#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK -using Usif::TComponentId; -using Usif::TScomoState; - -class CSoftwareTypeRegInfo; -#endif - -class RSisRegistryWritableSession : public RSisRegistrySession - { -public: - -#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK - /** - * Starts a transaction with SCR for the mutable operations of this session. - * The APIs that this transaction covers are AddEntryL, UpdateEntryL and DeleteEntryL. - * Note that this transaction has no relation with the transaction ID (aTransactionID) - * parameter being supplied to the mutable APIs. - */ - IMPORT_C void CreateTransactionL(); - - /** - * Commits the changes performed in the SCR after the call to BeginTransactionL. - */ - IMPORT_C void CommitTransactionL(); - - /** - * Discards the changes performed in the SCR after the call to BeginTransactionL. - */ - IMPORT_C void RollbackTransactionL(); -#endif - - /** - * Adds a registry entry representing this package - * - * @param aApplication The application description provided by Swi - * @param aController The controller in a buffer - * @param aTransactionID The TransactionID for IntegrityServices provided - * by Swis of TInt64 type - * - */ - IMPORT_C void AddEntryL(const CApplication& aApplication, const TDesC8& aController, TInt64 aTransactionID); - - /** - * Updates the registry entry representing this package - * - * @param aApplication The application description provided by Swi - * @param aController The controller in a buffer - * @param aTransactionID The TransactionID for IntegrityServices provided - * by Swis of TInt64 type - * - */ - IMPORT_C void UpdateEntryL(const CApplication& aApplication, const TDesC8& aController, TInt64 aTransactionID); - - /** - * Deletes the entry from the registry represented by the given package - * - * @param aPackage The package to search for - * @param aTransactionID The TransactionID for IntegrityServices provided - * by Swis of TInt64 type - * - */ - IMPORT_C void DeleteEntryL(const CSisRegistryPackage& aPackage, TInt64 aTransactionID); - - /** - * Notification to registry that a drive has been mounted - * - * @param aDrive Drive number; - * - * @note valid value are between 0 and KMaxDrives - 1 inclusive - * 0 stands for A drive and KMaxDrives - 1 for Z - * - */ - IMPORT_C void AddDriveL(const TInt aDrive); - -#ifndef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK - /** - * Notification to registry that a drive has been dismounted - * - * @param aDrive Drive as a number; - * - * @note valid value are between 0 and KMaxDrives - 1 inclusive - * 0 stands for A drive and KMaxDrives - 1 for Z - * - */ - IMPORT_C void RemoveDriveL(const TInt aDrive); - - /** - * Notification to the registry that Software Installation has been rolled - * back and the cache needs to be regenerated from the contents on disk. - */ - IMPORT_C void RegenerateCacheL(); -#endif - - /** - * Returns ETrue if any ROM stub in the filesystem has the package uid specified - * in aPackageId - * With the addition of SA upgrades to ROM, a package may be both in ROM, upgraded - * on another drive and this method can be used to check for the presence - * of an upgraded ROM package. - * - * - * @param aPackageId Package Id to be searched in the ROM stub files. - * - * @return ETrue if it can find the aPackageId in any of the ROM stub SIS. - * EFalse otherwise - */ - IMPORT_C TBool PackageExistsInRomL(const TUid& aPackageId); - - - - /** - * Gets all the eclipsable file's entries from the ROM stub file of a ROM based package. - * - * @param aUid Package UId to identify the right stub file. - * - * @param aFiles A pointer array of file names to be populated. - * - */ - IMPORT_C void GetFilesForRomApplicationL(const TUid& aPackageId, RPointerArray& aFiles); - -#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK - /** - * Activates the component identified by the supplied parameter. - * - * @param aComponentId Identifies the installed component, which is to be activated. - * - */ - IMPORT_C void ActivateComponentL(TComponentId aComponentId); - - /** - * Deactivates the component identified by the supplied parameter. - * - * @param aComponentId Identifies the installed component, which is to be deactivated. - * - */ - IMPORT_C void DeactivateComponentL(TComponentId aComponentId); - - /** - * Adds a registry entry representing a package containing a Layered Execution Environment - * - * @param aApplication The application description provided by Swi - * @param aController The controller in a buffer - * @param aSwTypeRegInfoArray The array of the software types to be registered - * @param aTransactionID The TransactionID for IntegrityServices provided by Swis of TInt64 type - * - */ - IMPORT_C void AddEntryL(const CApplication& aApplication, const TDesC8& aController, const RPointerArray& aSwTypeRegInfoArray, TInt64 aTransactionID); - - /** - * Updates the registry entry representing a package containing a Layered Execution Environment. - * The SISRegistryServer checks if the registration info passed in aSwTypeRegInfoArray matches - * the data passed during the installation of the base package. If they differ the installation terinates. - * Hence, this upgrade package may upgarde the LEE but cannot change its registration data. - * - * @param aApplication The application description provided by Swi - * @param aController The controller in a buffer - * @param aSwTypeRegInfoArray The array of the software types to be verified against the already registered base package - * @param aTransactionID The TransactionID for IntegrityServices provided by Swis of TInt64 type - * - */ - IMPORT_C void UpdateEntryL(const CApplication& aApplication, const TDesC8& aController, const RPointerArray& aSwTypeRegInfoArray, TInt64 aTransactionID); - -private: - void SetComponentStateL(TComponentId aComponentId, TScomoState aState); -#endif - void AddEntryImplL(TInt aMessage, const CApplication& aApplication, const TDesC8& aController, TInt64 aTransactionID, TIpcArgs& aIpcArgs); - void UpdateEntryImplL(TInt aMessage, const CApplication& aApplication, const TDesC8& aController, TInt64 aTransactionID, TIpcArgs& aIpcArgs); - }; - -} // namespace -#endif