brandingserver/bsclient/cbsclient.h
changeset 0 e6b17d312c8b
child 21 cfd5c2994f10
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/brandingserver/bsclient/cbsclient.h	Thu Dec 17 08:54:49 2009 +0200
@@ -0,0 +1,143 @@
+/*
+* 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: CBSClient.h
+*
+*/
+
+
+#ifndef __CBSCLIENT_H__
+#define __CBSCLIENT_H__
+#include <e32std.h>
+#include <f32file.h>
+#include <bamdesca.h>
+#include <s32mem.h>
+#include "mbsupdater.h"
+#include "bsserverdefs.h"
+#include "mbsbrandobserverregistrar.h"
+
+class MBSElement;
+class MBSBrandChangeObserver;
+class MBSBackupRestoreStateObserver;
+class CBSBrandObserver;
+
+/**
+ * Simple ClientServer for
+ * testing and example purposes.
+ */
+class RBSClient : public RSessionBase,
+				  public MBSBrandObserverRegistrar
+    {
+    
+    public:     // Constructor and destructor
+        RBSClient();
+        ~RBSClient();
+
+
+    public:     // New methods
+
+        TInt Connect();
+        void Close();
+        
+		void StartTransactionL( const TDesC8& aApplicationId,
+        				  const TDesC8& aBrandId,
+        				  const TDesC8& aDefaultBrandId,
+        				  TLanguage aLanguage,
+        				  TTransactionType aType,
+						  TInt aReserved = 0 );
+        
+        TInt StopTransactionL( const TDesC8& aApplicationId,
+        				  const TDesC8& aBrandId,
+        				  TLanguage aLanguage,
+        				  TInt aReserved = 0 );
+        
+        void CancelTransactionL( const TDesC8& aApplicationId,
+        				  const TDesC8& aBrandId,
+        				  TLanguage aLanguage,
+        				  TInt aReserved = 0);
+        
+        void InsertL( MBSElement* aElement );
+        void ReplaceL( MBSElement* aElement );
+        void AppendL( MBSElement* aElement );
+        
+        void GetTextL( const TDesC8& aId, HBufC*& aValue );
+        void GetBufferL( const TDesC8& aId, HBufC8*& aValue );
+        void GetIntL( const TDesC8& aId, TInt& aValue );
+
+        MBSElement* GetSeveralL( MDesC8Array& aIds );
+		MBSElement* GetStructureL( const TDesC8& aId );
+		void GetFileL( const TDesC8& aId, RFile& aFile );
+		
+		void RemoveBrandL( const TDesC8& aApplicationId,
+								   const TDesC8& aBrandId );
+
+		void RemoveBrandsL( const TDesC8& aApplicationId );
+
+		void isBrandUpdateRequiredL (TInt& aUpdateRequired);
+
+    	/*
+    	* Register to observer brand data updates
+    	* @param aObserver the observer interface
+    	*/
+        void RegisterObserverL( MBSBrandChangeObserver* aObserver, MBSBackupRestoreStateObserver* aBackupStateObserver);
+
+    	/*
+    	* Unregister a brand data update observer
+    	* @param aObserver the observer interface
+    	*/
+        void UnRegisterObserverL( MBSBrandChangeObserver* aObserver, MBSBackupRestoreStateObserver* aBackupStateObserver );
+
+
+	private:
+
+        void InitClientL( const TDesC8& aApplicationId,
+        				  const TDesC8& aBrandId,
+        				  const TDesC8& aDefaultBrandId,
+        				  TLanguage aLanguage,
+        				  TTransactionType aType,
+        				  TInt aReserved );
+        				  
+		TIpcArgs CreateArgumentsL( const TDesC8& aApplicationId,
+        				  const TDesC8& aBrandId,
+        				  TLanguage aLanguage,
+        				  TInt aReserved );
+
+        MBSElement* InternalizeElementL( RReadStream& aStream );
+        
+        void ExternalizeIdArrayL( RWriteStream& aStream, MDesC8Array& aArray );
+	
+		void SendUpdateL( MBSElement* aElement, TBSMessages aMessage );
+		
+	private: // from MBSBrandObserverRegistrar
+		/*
+    	* Registeres the brand observer to server
+    	*/
+        void RegisterObserverToServerL( TRequestStatus& aStatus );
+        
+        TInt GetNewVersionL();
+        TInt GetValueL(TInt msg) ;
+        TInt GetBackupStateL() ;
+        TInt GetBackupRestoreL() ;
+        
+        
+	private:
+		TTransactionType iType;
+		CBSBrandObserver* iObserver;
+		TInt isUpdateRequired;
+    };
+
+#endif      //  __CBSCLIENT_H__
+
+
+//  END OF FILE
+