brandingserver/Inc/mbsupdater.h
author hgs
Sun, 11 Apr 2010 15:33:49 +0530
changeset 31 9dbc70490d9a
permissions -rw-r--r--
201014
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  MBSUpdater
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
 #ifndef __MBSUPDATER_H
hgs
parents:
diff changeset
    22
 #define __MBSUPDATER_H
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
 #include <e32std.h>
hgs
parents:
diff changeset
    25
 #include <mbselement.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
class MBSBackupRestoreStateObserver ;
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
const TInt KBSAutomaticVersionUpdate = -1;
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
 /**
hgs
parents:
diff changeset
    32
  * An interface for updating branding information
hgs
parents:
diff changeset
    33
  *
hgs
parents:
diff changeset
    34
  * @since
hgs
parents:
diff changeset
    35
  */
hgs
parents:
diff changeset
    36
 class MBSUpdater
hgs
parents:
diff changeset
    37
     {
hgs
parents:
diff changeset
    38
     public:
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
		enum TUpdateTransactionType
hgs
parents:
diff changeset
    41
			{
hgs
parents:
diff changeset
    42
			EUpdateInstall = 1,
hgs
parents:
diff changeset
    43
			EUpdateAppend,
hgs
parents:
diff changeset
    44
			EUpdateReplace,
hgs
parents:
diff changeset
    45
			EUpdateUninstall
hgs
parents:
diff changeset
    46
			};
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
		//*** TRANSACTION HANDLING ***//
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
     	/*
hgs
parents:
diff changeset
    51
     	* Start transaction for installing a brand.
hgs
parents:
diff changeset
    52
     	* @param aApplicationId id of the application
hgs
parents:
diff changeset
    53
     	* @param aBrandId id of the brand
hgs
parents:
diff changeset
    54
     	* @param aLanguageId languageid of the brand
hgs
parents:
diff changeset
    55
     	* @param aReserved for further use
hgs
parents:
diff changeset
    56
     	*/
hgs
parents:
diff changeset
    57
        virtual void StartTransactionL( const TDesC8& aBrandId,
hgs
parents:
diff changeset
    58
         								TLanguage aLanguageId,
hgs
parents:
diff changeset
    59
         								TUpdateTransactionType aType = EUpdateInstall,
hgs
parents:
diff changeset
    60
         								TInt aReserved = 0 ) = 0;
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
     	/*
hgs
parents:
diff changeset
    63
     	* Stop brand installation transaction.
hgs
parents:
diff changeset
    64
     	* Calling this will indicate that the brand has
hgs
parents:
diff changeset
    65
     	* been updated completely and it will be taken
hgs
parents:
diff changeset
    66
     	* into use.
hgs
parents:
diff changeset
    67
     	* @return new version of the installed/updated brand
hgs
parents:
diff changeset
    68
     	*/
hgs
parents:
diff changeset
    69
		virtual TInt StopTransactionL() = 0;
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
     	/*
hgs
parents:
diff changeset
    72
     	* Cancels brand installation transaction.
hgs
parents:
diff changeset
    73
     	* All the elements updated in this transaction
hgs
parents:
diff changeset
    74
     	* will be discarded.
hgs
parents:
diff changeset
    75
     	*/
hgs
parents:
diff changeset
    76
		virtual void CancelTransactionL() = 0;
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
		//*** BRAND REMOVING ***//
hgs
parents:
diff changeset
    80
		
hgs
parents:
diff changeset
    81
     	/*
hgs
parents:
diff changeset
    82
     	* Removes all brand data from the specified brand.
hgs
parents:
diff changeset
    83
     	*/
hgs
parents:
diff changeset
    84
		virtual void RemoveBrandL( const TDesC8& aApplicationId,
hgs
parents:
diff changeset
    85
								   const TDesC8& aBrandId ) = 0;
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
     	/*
hgs
parents:
diff changeset
    88
     	* Removes all brand data from the specified application.
hgs
parents:
diff changeset
    89
     	*/
hgs
parents:
diff changeset
    90
		virtual void RemoveBrandsL( const TDesC8& aApplicationId ) = 0;
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
		//*** BRAND INSTALLING ***//
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    	/*
hgs
parents:
diff changeset
    97
    	* Insert text type item into the new brand
hgs
parents:
diff changeset
    98
    	* @param aId ID of the item
hgs
parents:
diff changeset
    99
    	* @param aText the text item
hgs
parents:
diff changeset
   100
    	*/
hgs
parents:
diff changeset
   101
        virtual void InsertTextL( const TDesC8& aId, const TDesC& aText ) = 0;
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
    	/*
hgs
parents:
diff changeset
   104
    	* Insert 8-bit data type item into the new brand
hgs
parents:
diff changeset
   105
    	* @param aId ID of the item
hgs
parents:
diff changeset
   106
    	* @param aBuffer the data item
hgs
parents:
diff changeset
   107
    	*/
hgs
parents:
diff changeset
   108
        virtual void InsertBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0;
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
    	/*
hgs
parents:
diff changeset
   111
    	* Insert integer type item into the new brand
hgs
parents:
diff changeset
   112
    	* @param aId ID of the item
hgs
parents:
diff changeset
   113
    	* @param aInt the integer item
hgs
parents:
diff changeset
   114
    	*/
hgs
parents:
diff changeset
   115
        virtual void InsertIntL( const TDesC8& aId, TInt aInt ) = 0;
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
    	/*
hgs
parents:
diff changeset
   118
    	* Insert a file type item into the new brand.
hgs
parents:
diff changeset
   119
    	* Note that the this is only the id and file name pair,
hgs
parents:
diff changeset
   120
    	* the file itself has to be imported separately.
hgs
parents:
diff changeset
   121
    	* @param aId ID of the item
hgs
parents:
diff changeset
   122
    	* @param aFile the integer item
hgs
parents:
diff changeset
   123
    	*/
hgs
parents:
diff changeset
   124
        virtual void InsertFileL( const TDesC8& aId,
hgs
parents:
diff changeset
   125
        					   	  const TDesC& aFileName ) = 0;
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
     	/*
hgs
parents:
diff changeset
   128
     	* Inserts an element into the brand that is being installed.
hgs
parents:
diff changeset
   129
     	* @param aElement the element
hgs
parents:
diff changeset
   130
     	*/
hgs
parents:
diff changeset
   131
        virtual void InsertElementL( MBSElement* aElement ) = 0;
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
		//*** BRAND UPDATING - replacing ***//
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
    	/*
hgs
parents:
diff changeset
   141
    	* Insert text type item into the new brand
hgs
parents:
diff changeset
   142
    	* @param aId ID of the item
hgs
parents:
diff changeset
   143
    	* @param aText the text item
hgs
parents:
diff changeset
   144
    	*/
hgs
parents:
diff changeset
   145
        virtual void ReplaceTextL( const TDesC8& aId, const TDesC& aText ) = 0;
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
    	/*
hgs
parents:
diff changeset
   148
    	* Insert 8-bit data type item into the new brand
hgs
parents:
diff changeset
   149
    	* @param aId ID of the item
hgs
parents:
diff changeset
   150
    	* @param aBuffer the data item
hgs
parents:
diff changeset
   151
    	*/
hgs
parents:
diff changeset
   152
        virtual void ReplaceBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0;
hgs
parents:
diff changeset
   153
hgs
parents:
diff changeset
   154
    	/*
hgs
parents:
diff changeset
   155
    	* Insert integer type item into the new brand
hgs
parents:
diff changeset
   156
    	* @param aId ID of the item
hgs
parents:
diff changeset
   157
    	* @param aInt the integer item
hgs
parents:
diff changeset
   158
    	*/
hgs
parents:
diff changeset
   159
        virtual void ReplaceIntL( const TDesC8& aId, TInt aInt ) = 0;
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
    	/*
hgs
parents:
diff changeset
   162
    	* Insert a file type item into the new brand.
hgs
parents:
diff changeset
   163
    	* Note that the this is only the id and file name pair,
hgs
parents:
diff changeset
   164
    	* the file itself has to be imported separately.
hgs
parents:
diff changeset
   165
    	* @param aId ID of the item
hgs
parents:
diff changeset
   166
    	* @param aFile the integer item
hgs
parents:
diff changeset
   167
    	*/
hgs
parents:
diff changeset
   168
        virtual void ReplaceFileL( const TDesC8& aId,
hgs
parents:
diff changeset
   169
        					   	  const TDesC& aFileName ) = 0;
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
     	/*
hgs
parents:
diff changeset
   172
     	* Inserts an element into the brand that is being installed.
hgs
parents:
diff changeset
   173
     	* @param aElement the element
hgs
parents:
diff changeset
   174
     	*/
hgs
parents:
diff changeset
   175
        virtual void ReplaceElementL( MBSElement* aElement ) = 0;
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
		//*** BRAND UPDATING - appending ***//
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
hgs
parents:
diff changeset
   182
    	/*
hgs
parents:
diff changeset
   183
    	* Insert text type item into the new brand
hgs
parents:
diff changeset
   184
    	* @param aId ID of the item
hgs
parents:
diff changeset
   185
    	* @param aText the text item
hgs
parents:
diff changeset
   186
    	*/
hgs
parents:
diff changeset
   187
        virtual void AppendTextL( const TDesC8& aId, const TDesC& aText ) = 0;
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
    	/*
hgs
parents:
diff changeset
   190
    	* Insert 8-bit data type item into the new brand
hgs
parents:
diff changeset
   191
    	* @param aId ID of the item
hgs
parents:
diff changeset
   192
    	* @param aBuffer the data item
hgs
parents:
diff changeset
   193
    	*/
hgs
parents:
diff changeset
   194
        virtual void AppendBufferL( const TDesC8& aId, const TDesC8& aBuffer ) = 0;
hgs
parents:
diff changeset
   195
hgs
parents:
diff changeset
   196
    	/*
hgs
parents:
diff changeset
   197
    	* Insert integer type item into the new brand
hgs
parents:
diff changeset
   198
    	* @param aId ID of the item
hgs
parents:
diff changeset
   199
    	* @param aInt the integer item
hgs
parents:
diff changeset
   200
    	*/
hgs
parents:
diff changeset
   201
        virtual void AppendIntL( const TDesC8& aId, TInt aInt ) = 0;
hgs
parents:
diff changeset
   202
hgs
parents:
diff changeset
   203
    	/*
hgs
parents:
diff changeset
   204
    	* Insert a file type item into the new brand.
hgs
parents:
diff changeset
   205
    	* Note that the this is only the id and file name pair,
hgs
parents:
diff changeset
   206
    	* the file itself has to be imported separately.
hgs
parents:
diff changeset
   207
    	* @param aId ID of the item
hgs
parents:
diff changeset
   208
    	* @param aFile the integer item
hgs
parents:
diff changeset
   209
    	*/
hgs
parents:
diff changeset
   210
        virtual void AppendFileL( const TDesC8& aId,
hgs
parents:
diff changeset
   211
        					   	  const TDesC& aFileName ) = 0;
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
     	/*
hgs
parents:
diff changeset
   214
     	* Inserts an element into the brand that is being installed.
hgs
parents:
diff changeset
   215
     	* @param aElement the element
hgs
parents:
diff changeset
   216
     	*/
hgs
parents:
diff changeset
   217
        virtual void AppendElementL( MBSElement* aElement ) = 0;
hgs
parents:
diff changeset
   218
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
        /*
hgs
parents:
diff changeset
   221
        * Closes the handle to server and deletes the object.
hgs
parents:
diff changeset
   222
        */
hgs
parents:
diff changeset
   223
		virtual void Close() = 0;
hgs
parents:
diff changeset
   224
		
hgs
parents:
diff changeset
   225
    	/*
hgs
parents:
diff changeset
   226
    	* Register to observer backup restore state change
hgs
parents:
diff changeset
   227
    	* @param aObserver the observer interface
hgs
parents:
diff changeset
   228
    	*/
hgs
parents:
diff changeset
   229
        virtual void RegisterObserverL( MBSBackupRestoreStateObserver* aBackupObserver ) = 0;
hgs
parents:
diff changeset
   230
		
hgs
parents:
diff changeset
   231
    	/*
hgs
parents:
diff changeset
   232
    	* Unregister a backup restore state change observer
hgs
parents:
diff changeset
   233
    	* @param aObserver the observer interface
hgs
parents:
diff changeset
   234
    	*/
hgs
parents:
diff changeset
   235
        virtual void UnRegisterObserverL( MBSBackupRestoreStateObserver* aObserver ) = 0;
hgs
parents:
diff changeset
   236
		
hgs
parents:
diff changeset
   237
hgs
parents:
diff changeset
   238
	protected:
hgs
parents:
diff changeset
   239
     	/*
hgs
parents:
diff changeset
   240
     	* Destructor
hgs
parents:
diff changeset
   241
     	*/
hgs
parents:
diff changeset
   242
     	virtual ~MBSUpdater() {};
hgs
parents:
diff changeset
   243
     };
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
 #endif //__MBSUPDATER_H