brandingserver/bsserver/cbssession.h
author hgs
Wed, 03 Nov 2010 09:32:20 +0530
changeset 51 61fad867f68e
child 19 7e0cc21eb164
child 42 cfd5c2994f10
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
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 "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: cbssession.h
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
#ifndef __CBSSESSION_H__
hgs
parents:
diff changeset
    20
#define __CBSSESSION_H__
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <e32base.h>
hgs
parents:
diff changeset
    23
#include <s32mem.h>
hgs
parents:
diff changeset
    24
#include "rbsobjowningptrarray.h"
hgs
parents:
diff changeset
    25
#include "bsserverdefs.h"
hgs
parents:
diff changeset
    26
#include "mbsbackupobserver.h"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
class CBSServer;
hgs
parents:
diff changeset
    29
class CBSBrandHandler;
hgs
parents:
diff changeset
    30
class MBSElement;
hgs
parents:
diff changeset
    31
class CBSStorageManager;
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
/**
hgs
parents:
diff changeset
    34
 * Service side session.
hgs
parents:
diff changeset
    35
 *
hgs
parents:
diff changeset
    36
 * @lib
hgs
parents:
diff changeset
    37
 * @since
hgs
parents:
diff changeset
    38
 */
hgs
parents:
diff changeset
    39
 class CBSSession : public CSession2,
hgs
parents:
diff changeset
    40
                    public MBSBackupObserver
hgs
parents:
diff changeset
    41
    {
hgs
parents:
diff changeset
    42
    
hgs
parents:
diff changeset
    43
    
hgs
parents:
diff changeset
    44
    public:
hgs
parents:
diff changeset
    45
    	
hgs
parents:
diff changeset
    46
    	/**
hgs
parents:
diff changeset
    47
    	 * Class for encapsulating the session information.
hgs
parents:
diff changeset
    48
    	 */
hgs
parents:
diff changeset
    49
    	NONSHARABLE_CLASS( CBSSessionInfo ): public CBase
hgs
parents:
diff changeset
    50
    		{
hgs
parents:
diff changeset
    51
    		public:
hgs
parents:
diff changeset
    52
	    		
hgs
parents:
diff changeset
    53
	    		/**
hgs
parents:
diff changeset
    54
	    		 * Creates a new CBSSessionInfo
hgs
parents:
diff changeset
    55
	    		 *
hgs
parents:
diff changeset
    56
	    		 * @param aFileName the filename of the process, that created 
hgs
parents:
diff changeset
    57
	    		 *        this session
hgs
parents:
diff changeset
    58
	    		 * @param aCaption a caption of the process, that created this 
hgs
parents:
diff changeset
    59
	    		 *        session
hgs
parents:
diff changeset
    60
	    		 * @param aThreadId thread id where this session was created
hgs
parents:
diff changeset
    61
	    		 * @param aProcessId processId of the process, that created 
hgs
parents:
diff changeset
    62
	    		 *        this session
hgs
parents:
diff changeset
    63
	    		 * @return a new CBSSessionInfo instance
hgs
parents:
diff changeset
    64
	    		 */
hgs
parents:
diff changeset
    65
	    		static CBSSessionInfo* NewL( const TDesC& aFileName, 
hgs
parents:
diff changeset
    66
	    		                             const TDesC& aCaption,
hgs
parents:
diff changeset
    67
	    		                             TThreadId aThreadId,
hgs
parents:
diff changeset
    68
	    		                             TProcessId aProcessId );
hgs
parents:
diff changeset
    69
        	    /**
hgs
parents:
diff changeset
    70
                 * Destructor.
hgs
parents:
diff changeset
    71
                 */  		
hgs
parents:
diff changeset
    72
	    		~CBSSessionInfo();
hgs
parents:
diff changeset
    73
	    		
hgs
parents:
diff changeset
    74
    		private: 
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
                /**
hgs
parents:
diff changeset
    77
                 * Symbian second-phase constructor
hgs
parents:
diff changeset
    78
                 *
hgs
parents:
diff changeset
    79
	    		 * @param aFileName the filename of the process, that created 
hgs
parents:
diff changeset
    80
	    		 *        this session
hgs
parents:
diff changeset
    81
	    		 * @param aCaption a caption of the process, that created this 
hgs
parents:
diff changeset
    82
	    		 *        session
hgs
parents:
diff changeset
    83
                 */                    
hgs
parents:
diff changeset
    84
	    		void ConstructL( const TDesC& aFileName, 
hgs
parents:
diff changeset
    85
	    		                 const TDesC& aCaption );
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
                /**
hgs
parents:
diff changeset
    88
                 * Constructor.
hgs
parents:
diff changeset
    89
	    		 *
hgs
parents:
diff changeset
    90
	    		 * @param aThreadId thread id where this session was created
hgs
parents:
diff changeset
    91
	    		 * @param aProcessId processId of the process, that created 
hgs
parents:
diff changeset
    92
	    		 *        this session
hgs
parents:
diff changeset
    93
                 */
hgs
parents:
diff changeset
    94
	    		CBSSessionInfo( TThreadId aThreadId, TProcessId aProcessId );
hgs
parents:
diff changeset
    95
			
hgs
parents:
diff changeset
    96
			public: 
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
			    /**
hgs
parents:
diff changeset
    99
                 * Returns the filename of the process, that created this 
hgs
parents:
diff changeset
   100
                 * session.
hgs
parents:
diff changeset
   101
                 *
hgs
parents:
diff changeset
   102
                 * @return a filename
hgs
parents:
diff changeset
   103
                 */ 
hgs
parents:
diff changeset
   104
				const TDesC& FileName();
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
			    /**
hgs
parents:
diff changeset
   107
                 * Returns the caption of the process, that created this 
hgs
parents:
diff changeset
   108
	    		 * session.
hgs
parents:
diff changeset
   109
                 *
hgs
parents:
diff changeset
   110
                 * @return a caption
hgs
parents:
diff changeset
   111
                 */ 
hgs
parents:
diff changeset
   112
				const TDesC& Caption();
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
			    /**
hgs
parents:
diff changeset
   115
                 * Returns the thread id where this session was created.
hgs
parents:
diff changeset
   116
                 *
hgs
parents:
diff changeset
   117
                 * @return a thread id
hgs
parents:
diff changeset
   118
                 */ 
hgs
parents:
diff changeset
   119
				TThreadId ThreadId();
hgs
parents:
diff changeset
   120
				
hgs
parents:
diff changeset
   121
			    /**
hgs
parents:
diff changeset
   122
                 * Returns the processId of the process, that created 
hgs
parents:
diff changeset
   123
	    		 * this session.
hgs
parents:
diff changeset
   124
                 *
hgs
parents:
diff changeset
   125
                 * @return a process id
hgs
parents:
diff changeset
   126
                 */ 
hgs
parents:
diff changeset
   127
				TProcessId ProcessId();
hgs
parents:
diff changeset
   128
				
hgs
parents:
diff changeset
   129
			private: // data
hgs
parents:
diff changeset
   130
				
hgs
parents:
diff changeset
   131
                /**
hgs
parents:
diff changeset
   132
                 * Filename
hgs
parents:
diff changeset
   133
                 * Own.
hgs
parents:
diff changeset
   134
                 */
hgs
parents:
diff changeset
   135
				HBufC* 		iFileName;
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
                /**
hgs
parents:
diff changeset
   138
                 * Caption
hgs
parents:
diff changeset
   139
                 * Own.
hgs
parents:
diff changeset
   140
                 */
hgs
parents:
diff changeset
   141
			  	HBufC*      iCaption;
hgs
parents:
diff changeset
   142
			  	
hgs
parents:
diff changeset
   143
                /**
hgs
parents:
diff changeset
   144
                 * Thread Id.
hgs
parents:
diff changeset
   145
                 */
hgs
parents:
diff changeset
   146
			  	TThreadId  	iThreadId;
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
                /**
hgs
parents:
diff changeset
   149
                 * Process Id.
hgs
parents:
diff changeset
   150
                 */
hgs
parents:
diff changeset
   151
			  	TProcessId  iProcessId;			  	
hgs
parents:
diff changeset
   152
    		};      
hgs
parents:
diff changeset
   153
    
hgs
parents:
diff changeset
   154
    
hgs
parents:
diff changeset
   155
    public:     // Constructors and destructors
hgs
parents:
diff changeset
   156
        static CBSSession* NewL();
hgs
parents:
diff changeset
   157
        virtual ~CBSSession();
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
    protected:  // C++ constructors
hgs
parents:
diff changeset
   161
    	/**
hgs
parents:
diff changeset
   162
        * C++ default constructor.
hgs
parents:
diff changeset
   163
        */
hgs
parents:
diff changeset
   164
        CBSSession();
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
        /**
hgs
parents:
diff changeset
   167
        * Symbian OS constructor
hgs
parents:
diff changeset
   168
        */
hgs
parents:
diff changeset
   169
		void ConstructL();
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
    public:     // Methods derived from CSession2
hgs
parents:
diff changeset
   172
    	/**
hgs
parents:
diff changeset
   173
    	* From CSession2
hgs
parents:
diff changeset
   174
    	*/
hgs
parents:
diff changeset
   175
        void CreateL();
hgs
parents:
diff changeset
   176
    	/**
hgs
parents:
diff changeset
   177
    	* From CSession2
hgs
parents:
diff changeset
   178
    	*/
hgs
parents:
diff changeset
   179
        void ServiceL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   180
    	/**
hgs
parents:
diff changeset
   181
    	* From CSession2
hgs
parents:
diff changeset
   182
    	*/
hgs
parents:
diff changeset
   183
        void ServiceError( const RMessage2& aMessage,
hgs
parents:
diff changeset
   184
                           TInt aError );
hgs
parents:
diff changeset
   185
		
hgs
parents:
diff changeset
   186
    public:     // From MBSBackupObserver
hgs
parents:
diff changeset
   187
    
hgs
parents:
diff changeset
   188
    	/*
hgs
parents:
diff changeset
   189
    	* @see MBSBackupObserver
hgs
parents:
diff changeset
   190
    	*/
hgs
parents:
diff changeset
   191
		void HandleBackupStateL( TBackupState aState );
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
	public: // New methods
hgs
parents:
diff changeset
   194
		
hgs
parents:
diff changeset
   195
        /**
hgs
parents:
diff changeset
   196
        *
hgs
parents:
diff changeset
   197
        */
hgs
parents:
diff changeset
   198
        CBSServer* Server() { return (CBSServer*) CSession2::Server(); }
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
		TBool MatchSessionL( const TDesC& aApplicationId,
hgs
parents:
diff changeset
   202
							 const TDesC& aBrandId,
hgs
parents:
diff changeset
   203
							 TLanguage aLanguageId,
hgs
parents:
diff changeset
   204
							 TInt aReserved );
hgs
parents:
diff changeset
   205
							 
hgs
parents:
diff changeset
   206
		TBool MatchSessionUninstallL( const TDesC& aApplicationId,
hgs
parents:
diff changeset
   207
								 const TDesC& aBrandId);
hgs
parents:
diff changeset
   208
								 
hgs
parents:
diff changeset
   209
		void BrandUpdatedL( const TDesC& aApplicationId,
hgs
parents:
diff changeset
   210
							 const TDesC& aBrandId,
hgs
parents:
diff changeset
   211
							 TLanguage aLanguageId,
hgs
parents:
diff changeset
   212
							 TInt aReserved );
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
hgs
parents:
diff changeset
   216
	    /**
hgs
parents:
diff changeset
   217
         * Returns the filename of the process, that created this 
hgs
parents:
diff changeset
   218
         * session.
hgs
parents:
diff changeset
   219
         *
hgs
parents:
diff changeset
   220
         * @return a filename
hgs
parents:
diff changeset
   221
         */ 
hgs
parents:
diff changeset
   222
		const TDesC& FileName();
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
	    /**
hgs
parents:
diff changeset
   225
         * Returns the caption of the process, that created this 
hgs
parents:
diff changeset
   226
		 * session.
hgs
parents:
diff changeset
   227
         *
hgs
parents:
diff changeset
   228
         * @return a caption
hgs
parents:
diff changeset
   229
         */ 
hgs
parents:
diff changeset
   230
		const TDesC& Caption();
hgs
parents:
diff changeset
   231
hgs
parents:
diff changeset
   232
	    /**
hgs
parents:
diff changeset
   233
         * Returns the thread id where this session was created.
hgs
parents:
diff changeset
   234
         *
hgs
parents:
diff changeset
   235
         * @return a thread id
hgs
parents:
diff changeset
   236
         */ 
hgs
parents:
diff changeset
   237
		TInt ThreadId( TThreadId& aThreadId );
hgs
parents:
diff changeset
   238
		
hgs
parents:
diff changeset
   239
	    /**
hgs
parents:
diff changeset
   240
         * Returns the processId of the process, that created 
hgs
parents:
diff changeset
   241
		 * this session.
hgs
parents:
diff changeset
   242
         *
hgs
parents:
diff changeset
   243
         * @return a process id
hgs
parents:
diff changeset
   244
         */
hgs
parents:
diff changeset
   245
        TInt ProcessId( TProcessId& aProcessId );
hgs
parents:
diff changeset
   246
hgs
parents:
diff changeset
   247
        /**
hgs
parents:
diff changeset
   248
         * Returns, if the session info for this object is available.
hgs
parents:
diff changeset
   249
         *
hgs
parents:
diff changeset
   250
         * @return ETrue, if information about this object is available;
hgs
parents:
diff changeset
   251
         *         EFalse otherwise
hgs
parents:
diff changeset
   252
         */
hgs
parents:
diff changeset
   253
        TBool InfoAvailable();
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
        
hgs
parents:
diff changeset
   256
    private:    // New methods
hgs
parents:
diff changeset
   257
hgs
parents:
diff changeset
   258
        /**
hgs
parents:
diff changeset
   259
		*  Dispatch clients message
hgs
parents:
diff changeset
   260
		*
hgs
parents:
diff changeset
   261
		*  @since
hgs
parents:
diff changeset
   262
		*  @param aMessage client's message
hgs
parents:
diff changeset
   263
        */
hgs
parents:
diff changeset
   264
        TBool DispatchMessageL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   265
hgs
parents:
diff changeset
   266
hgs
parents:
diff changeset
   267
		/**
hgs
parents:
diff changeset
   268
		* Initializes the server
hgs
parents:
diff changeset
   269
		* @param aMessage client's message
hgs
parents:
diff changeset
   270
		*/
hgs
parents:
diff changeset
   271
        void InitUpdateL( const RMessage2 &aMessage, TTransactionType aType );
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
		/**
hgs
parents:
diff changeset
   274
		* Initializes the server
hgs
parents:
diff changeset
   275
		* @param aMessage client's message
hgs
parents:
diff changeset
   276
		*/
hgs
parents:
diff changeset
   277
        void InitAccessL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   278
hgs
parents:
diff changeset
   279
hgs
parents:
diff changeset
   280
		/**
hgs
parents:
diff changeset
   281
		* Get text type branding item
hgs
parents:
diff changeset
   282
		* @param aMessage client's message
hgs
parents:
diff changeset
   283
		*/
hgs
parents:
diff changeset
   284
        void GetTextL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   285
hgs
parents:
diff changeset
   286
		/**
hgs
parents:
diff changeset
   287
		* Get text type branding item
hgs
parents:
diff changeset
   288
		* @param aMessage client's message
hgs
parents:
diff changeset
   289
		*/
hgs
parents:
diff changeset
   290
        void GetBufferL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
		/**
hgs
parents:
diff changeset
   293
		* Get integer type branding item
hgs
parents:
diff changeset
   294
		* @param aMessage client's message
hgs
parents:
diff changeset
   295
		*/
hgs
parents:
diff changeset
   296
        void GetIntL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
		/**
hgs
parents:
diff changeset
   299
		* Get file type branding item
hgs
parents:
diff changeset
   300
		* @param aMessage client's message
hgs
parents:
diff changeset
   301
		*/
hgs
parents:
diff changeset
   302
        void GetFileL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
		/**
hgs
parents:
diff changeset
   305
		* Prepares several textual type branding items.
hgs
parents:
diff changeset
   306
		* These have to be fetched with GetSeveralText.
hgs
parents:
diff changeset
   307
		* @param aMessage client's message
hgs
parents:
diff changeset
   308
		*/
hgs
parents:
diff changeset
   309
        void PrepareSeveralL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   310
hgs
parents:
diff changeset
   311
		/**
hgs
parents:
diff changeset
   312
		* Gets the several textual branding items
hgs
parents:
diff changeset
   313
		* previously prepared.
hgs
parents:
diff changeset
   314
		* @param aMessage client's message
hgs
parents:
diff changeset
   315
		*/
hgs
parents:
diff changeset
   316
        void GetSeveralL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
hgs
parents:
diff changeset
   319
		/**
hgs
parents:
diff changeset
   320
		* Prepares several structure type branding items.
hgs
parents:
diff changeset
   321
		* These have to be fetched with GetStructure.
hgs
parents:
diff changeset
   322
		* @param aMessage client's message
hgs
parents:
diff changeset
   323
		*/
hgs
parents:
diff changeset
   324
        void PrepareStructureL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
		/**
hgs
parents:
diff changeset
   327
		* Gets the several structure type branding items
hgs
parents:
diff changeset
   328
		* previously prepared.
hgs
parents:
diff changeset
   329
		* @param aMessage client's message
hgs
parents:
diff changeset
   330
		*/
hgs
parents:
diff changeset
   331
        void GetStructureL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   332
hgs
parents:
diff changeset
   333
		void isBrandUpdateRequiredL (const RMessage2 &aMessage);
hgs
parents:
diff changeset
   334
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
		/**
hgs
parents:
diff changeset
   338
		* 
hgs
parents:
diff changeset
   339
		* 
hgs
parents:
diff changeset
   340
		* @param aMessage client's message
hgs
parents:
diff changeset
   341
		*/
hgs
parents:
diff changeset
   342
        void InstallL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   343
hgs
parents:
diff changeset
   344
		/**
hgs
parents:
diff changeset
   345
		* 
hgs
parents:
diff changeset
   346
		* 
hgs
parents:
diff changeset
   347
		* @param aMessage client's message
hgs
parents:
diff changeset
   348
		*/
hgs
parents:
diff changeset
   349
        void ReplaceL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   350
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
		/**
hgs
parents:
diff changeset
   353
		* 
hgs
parents:
diff changeset
   354
		* 
hgs
parents:
diff changeset
   355
		* @param aMessage client's message
hgs
parents:
diff changeset
   356
		*/
hgs
parents:
diff changeset
   357
        void AppendL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   358
		
hgs
parents:
diff changeset
   359
		/**
hgs
parents:
diff changeset
   360
		* 
hgs
parents:
diff changeset
   361
		* 
hgs
parents:
diff changeset
   362
		* @param aMessage client's message
hgs
parents:
diff changeset
   363
		*/
hgs
parents:
diff changeset
   364
		MBSElement* InternalizeElementL( RReadStream& aStream, TBool aAppending = EFalse );
hgs
parents:
diff changeset
   365
hgs
parents:
diff changeset
   366
hgs
parents:
diff changeset
   367
		/**
hgs
parents:
diff changeset
   368
		* Cancels the transaction
hgs
parents:
diff changeset
   369
		*/
hgs
parents:
diff changeset
   370
        void StartTransactionL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   371
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
		/**
hgs
parents:
diff changeset
   374
		* Cancels the transaction
hgs
parents:
diff changeset
   375
		*/
hgs
parents:
diff changeset
   376
        void CancelTransactionL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
		/**
hgs
parents:
diff changeset
   379
		* Finishes the transaction
hgs
parents:
diff changeset
   380
		*/
hgs
parents:
diff changeset
   381
        void StopTransactionL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   382
hgs
parents:
diff changeset
   383
hgs
parents:
diff changeset
   384
		/**
hgs
parents:
diff changeset
   385
		* Internalize element ids
hgs
parents:
diff changeset
   386
		*/
hgs
parents:
diff changeset
   387
        void InternalizeElementIdsL( RReadStream& aStream, RBSObjOwningPtrArray<HBufC8>& aArray );
hgs
parents:
diff changeset
   388
hgs
parents:
diff changeset
   389
		/**
hgs
parents:
diff changeset
   390
		* 
hgs
parents:
diff changeset
   391
		* 
hgs
parents:
diff changeset
   392
		* @param aMessage client's message
hgs
parents:
diff changeset
   393
		*/
hgs
parents:
diff changeset
   394
        void RemoveBrandL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   395
hgs
parents:
diff changeset
   396
hgs
parents:
diff changeset
   397
		/**
hgs
parents:
diff changeset
   398
		* 
hgs
parents:
diff changeset
   399
		* 
hgs
parents:
diff changeset
   400
		* @param aMessage client's message
hgs
parents:
diff changeset
   401
		*/
hgs
parents:
diff changeset
   402
        void RemoveApplicationL( const RMessage2 &aMessage );
hgs
parents:
diff changeset
   403
hgs
parents:
diff changeset
   404
		void PrepareAppendL();
hgs
parents:
diff changeset
   405
		
hgs
parents:
diff changeset
   406
		void PrepareReplaceL();
hgs
parents:
diff changeset
   407
		
hgs
parents:
diff changeset
   408
		TInt GetNewVersionL();
hgs
parents:
diff changeset
   409
hgs
parents:
diff changeset
   410
hgs
parents:
diff changeset
   411
        /**
hgs
parents:
diff changeset
   412
         * Extracts some information from the specified RMessage2
hgs
parents:
diff changeset
   413
         * and saves it.
hgs
parents:
diff changeset
   414
         *
hgs
parents:
diff changeset
   415
         * @param aMessage a message from a client
hgs
parents:
diff changeset
   416
         */
hgs
parents:
diff changeset
   417
        void ExtractInfoL( const RMessage2& aMessage );
hgs
parents:
diff changeset
   418
hgs
parents:
diff changeset
   419
    private:    // Data
hgs
parents:
diff changeset
   420
    	TBool iInitialized;
hgs
parents:
diff changeset
   421
    	TBool iAppending;
hgs
parents:
diff changeset
   422
    	TBool iAccessInit;
hgs
parents:
diff changeset
   423
    	TBool iWriteNeeded;
hgs
parents:
diff changeset
   424
    	
hgs
parents:
diff changeset
   425
    	// is backup process currently active
hgs
parents:
diff changeset
   426
    	TBool iBackupActive;
hgs
parents:
diff changeset
   427
    	
hgs
parents:
diff changeset
   428
    	HBufC* iBrandId;
hgs
parents:
diff changeset
   429
    	HBufC* iDefaultBrandId;
hgs
parents:
diff changeset
   430
    	HBufC* iApplicationId;
hgs
parents:
diff changeset
   431
    	TLanguage iLanguageId;
hgs
parents:
diff changeset
   432
    
hgs
parents:
diff changeset
   433
        TInt iValue;
hgs
parents:
diff changeset
   434
        HBufC* iText;
hgs
parents:
diff changeset
   435
        CBSBrandHandler* iBranding;
hgs
parents:
diff changeset
   436
        CBufFlat* iSeveralData;
hgs
parents:
diff changeset
   437
        HBufC8*		iBuffer;
hgs
parents:
diff changeset
   438
        TBool iMessageCompleted;
hgs
parents:
diff changeset
   439
        
hgs
parents:
diff changeset
   440
        CBSStorageManager* iStorageManager;
hgs
parents:
diff changeset
   441
        
hgs
parents:
diff changeset
   442
        TBool iObserverActive;
hgs
parents:
diff changeset
   443
        RMessage2 iObserverMessage;
hgs
parents:
diff changeset
   444
        
hgs
parents:
diff changeset
   445
        // To send backup event to client
hgs
parents:
diff changeset
   446
        TBool iIsBackup ;
hgs
parents:
diff changeset
   447
		TInt iReserved;
hgs
parents:
diff changeset
   448
        
hgs
parents:
diff changeset
   449
        /**
hgs
parents:
diff changeset
   450
         * Contains information about this object.
hgs
parents:
diff changeset
   451
         * Own.
hgs
parents:
diff changeset
   452
         */
hgs
parents:
diff changeset
   453
        CBSSessionInfo* iSessionInfo;
hgs
parents:
diff changeset
   454
		
hgs
parents:
diff changeset
   455
    };
hgs
parents:
diff changeset
   456
hgs
parents:
diff changeset
   457
#endif      //  __CBSSESSION_H__
hgs
parents:
diff changeset
   458
hgs
parents:
diff changeset
   459
hgs
parents:
diff changeset
   460
//  END OF FILE
hgs
parents:
diff changeset
   461