--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/brandingserver/inc/mbsupdater.h Thu Dec 17 08:54:49 2009 +0200
@@ -0,0 +1,244 @@
+/*
+* 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