diff -r 000000000000 -r e6b17d312c8b brandingserver/bsclient/cbsclient.h --- /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 +#include +#include +#include +#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 +