/** Copyright (c) 2006 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: MBSUpdater **/ #ifndef __MBSUPDATER_H #define __MBSUPDATER_H #include <e32std.h> #include <mbselement.h>class MBSBackupRestoreStateObserver ;const TInt KBSAutomaticVersionUpdate = -1; /** * An interface for updating branding information * * @since */ class MBSUpdater { public: enum TUpdateTransactionType { EUpdateInstall = 1, EUpdateAppend, EUpdateReplace, EUpdateUninstall }; //*** TRANSACTION HANDLING ***// /* * Start transaction for installing a brand. * @param aApplicationId id of the application * @param aBrandId id of the brand * @param aLanguageId languageid of the brand * @param aReserved for further use */ virtual void StartTransactionL( const TDesC8& aBrandId, TLanguage aLanguageId, TUpdateTransactionType aType = EUpdateInstall, TInt aReserved = 0 ) = 0; /* * Stop brand installation transaction. * Calling this will indicate that the brand has * been updated completely and it will be taken * into use. * @return new version of the installed/updated brand */ virtual TInt StopTransactionL() = 0; /* * Cancels brand installation transaction. * All the elements updated in this transaction * will be discarded. */ virtual void CancelTransactionL() = 0; //*** BRAND REMOVING ***// /* * Removes all brand data from the specified brand. */ virtual void RemoveBrandL( const TDesC8& aApplicationId, const TDesC8& aBrandId ) = 0; /* * Removes all brand data from the specified application. */ virtual void RemoveBrandsL( const TDesC8& aApplicationId ) = 0; //*** BRAND INSTALLING ***// /* * Insert text type item into the new brand * @param aId ID of the item * @param aText the text item */ virtual void InsertTextL( const TDesC8& aId, const TDesC& aText ) = 0; /* * Insert 8-bit data type item into the new brand * @param aId ID of the item * @param aBuffer the data item */ virtual void InsertBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0; /* * Insert integer type item into the new brand * @param aId ID of the item * @param aInt the integer item */ virtual void InsertIntL( const TDesC8& aId, TInt aInt ) = 0; /* * Insert a file type item into the new brand. * Note that the this is only the id and file name pair, * the file itself has to be imported separately. * @param aId ID of the item * @param aFile the integer item */ virtual void InsertFileL( const TDesC8& aId, const TDesC& aFileName ) = 0; /* * Inserts an element into the brand that is being installed. * @param aElement the element */ virtual void InsertElementL( MBSElement* aElement ) = 0; //*** BRAND UPDATING - replacing ***// /* * Insert text type item into the new brand * @param aId ID of the item * @param aText the text item */ virtual void ReplaceTextL( const TDesC8& aId, const TDesC& aText ) = 0; /* * Insert 8-bit data type item into the new brand * @param aId ID of the item * @param aBuffer the data item */ virtual void ReplaceBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0; /* * Insert integer type item into the new brand * @param aId ID of the item * @param aInt the integer item */ virtual void ReplaceIntL( const TDesC8& aId, TInt aInt ) = 0; /* * Insert a file type item into the new brand. * Note that the this is only the id and file name pair, * the file itself has to be imported separately. * @param aId ID of the item * @param aFile the integer item */ virtual void ReplaceFileL( const TDesC8& aId, const TDesC& aFileName ) = 0; /* * Inserts an element into the brand that is being installed. * @param aElement the element */ virtual void ReplaceElementL( MBSElement* aElement ) = 0; //*** BRAND UPDATING - appending ***// /* * Insert text type item into the new brand * @param aId ID of the item * @param aText the text item */ virtual void AppendTextL( const TDesC8& aId, const TDesC& aText ) = 0; /* * Insert 8-bit data type item into the new brand * @param aId ID of the item * @param aBuffer the data item */ virtual void AppendBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0; /* * Insert integer type item into the new brand * @param aId ID of the item * @param aInt the integer item */ virtual void AppendIntL( const TDesC8& aId, TInt aInt ) = 0; /* * Insert a file type item into the new brand. * Note that the this is only the id and file name pair, * the file itself has to be imported separately. * @param aId ID of the item * @param aFile the integer item */ virtual void AppendFileL( const TDesC8& aId, const TDesC& aFileName ) = 0; /* * Inserts an element into the brand that is being installed. * @param aElement the element */ virtual void AppendElementL( MBSElement* aElement ) = 0; /* * Closes the handle to server and deletes the object. */ virtual void Close() = 0; /* * Register to observer backup restore state change * @param aObserver the observer interface */ virtual void RegisterObserverL( MBSBackupRestoreStateObserver* aBackupObserver ) = 0; /* * Unregister a backup restore state change observer * @param aObserver the observer interface */ virtual void UnRegisterObserverL( MBSBackupRestoreStateObserver* aObserver ) = 0; protected: /* * Destructor */ virtual ~MBSUpdater() {}; }; #endif //__MBSUPDATER_H