diff -r 000000000000 -r ed9695c8bcbe vtengines/videoteleng/Inc/Base/CVtEngCRObserverItem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vtengines/videoteleng/Inc/Base/CVtEngCRObserverItem.h Mon Nov 23 14:47:47 2009 +0200 @@ -0,0 +1,199 @@ +/* +* Copyright (c) 2004-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: Central repository observer class. +* +*/ + + +#ifndef CVTENGCROBSITEM_H +#define CVTENGCROBSITEM_H + +// INCLUDES +#include +#include +#include "cenrepnotifyhandler.h" + +// FORWARD DECLARATIONS +class MVtEngCRSettingObserver; + +// CLASS DECLARATION + +/** +* Central repository listener for video telephony. +* +* @lib videoteleng.lib +* @since Series 60 3.0 +*/ +NONSHARABLE_CLASS( CVtEngCRObserverItem ) : public CBase, + public MCenRepNotifyHandlerCallback + { + public: // Constructors and destructor. + + /** + * Two-phased constructor. + * @param aObserver the real observer to notify + * @param aUid UID for this listener + * @param aKey ID for this listener + * @param aType type of information interested in + * @return this CR observer + */ + static CVtEngCRObserverItem* NewL( + MVtEngCRSettingObserver* aObserver, + TUid aUid, TUint32 aKey, + CCenRepNotifyHandler::TCenRepKeyType aType ); + + /** + * Destructor. + */ + virtual ~CVtEngCRObserverItem(); + + public: // From MCenRepNotifyHandlerCallback. + + /** + * Callback to notify changed integer setting. + * @param aId changed id + * @param aNewValue + */ + void HandleNotifyInt( TUint32 aId, TInt aNewValue ); + + /** + * Callback to notify changed real setting. + * @param aId changed id + * @param aNewValue + */ + void HandleNotifyReal( TUint32 aId, TReal aNewValue ); + + /** + * Callback to notify changed string setting. + * @param aId changed id + * @param aNewValue + */ + void HandleNotifyString( TUint32 aId, const TDesC16& aNewValue ); + + /** + * Callback to notify changed binary setting. + * @param aId changed id + * @param aNewValue + */ + void HandleNotifyBinary( TUint32 aId, const TDesC8& aNewValue ); + + /** + * Callback to notify changed setting. + * @param aId changed id + */ + void HandleNotifyGeneric( TUint32 aId); + + /** + * Callback to notify of an occurred error. + * @param aId changed id + * @param aError + * @param aHandler which handler + */ + void HandleNotifyError( TUint32 aId, TInt aError, + CCenRepNotifyHandler* aHandler ); + + public: // New functions. + + /** + * Checks if this one matches given UID and key. + * @param aUID UID to use in comparison + * @param aKey key to use in comparison + * @return ETrue if match + */ + TBool Offer( const TUid aUid, const TUint32 aKey ) const; + + /** + * Checks if this one matches given UID. + * @param aUID UID to use in comparison + * @return ETrue if match + */ + TBool Offer( const TUid aUid ) const; + + /** + * Checks if this one matches given key. + * @param aKey key to use in comparison + * @return ETrue if match + */ + TBool Offer( const TUint32 aKey ) const; + + /** + * Returns UID of this handler. + * @return UID + */ + TUid Uid() const; + + /** + * Returns key of this handler. + * @return key + */ + TUint32 Key() const; + + /** + * Returns notifier of this handler. + * @return notifier + */ + CCenRepNotifyHandler* Notifier() const; + + /** + * Returns type of this handler. + * @return type + */ + CCenRepNotifyHandler::TCenRepKeyType Type() const; + + /** + * Returns observer of this handler. + * @return observer + */ + MVtEngCRSettingObserver* Observer() const; + + /** + * Sets CenRep notifier + * @param notifier to set. + */ + void SetCenRepNotifier( CCenRepNotifyHandler* aNotifier ); + + + private: // Constructor. + + /** + * C++ default constructor. + * @param aObserver the real observer to notify + * @param aUid UID for this listener + * @param aKey ID for this listener + * @param aType type of information interested in + */ + CVtEngCRObserverItem( MVtEngCRSettingObserver* Observer, + TUid aUid, TUint32 aKey, + CCenRepNotifyHandler::TCenRepKeyType aType ); + + private: // Data + + // Callback for notifications. + MVtEngCRSettingObserver* iObserver; + + // UID for this item. + TUid iUid; + + // Key for this item. + TUint32 iKey; + + // Type of listener. + CCenRepNotifyHandler::TCenRepKeyType iType; + + // Central repository notifier. + CCenRepNotifyHandler* iNotifier; +}; +#endif // CVTENGCROBSITEM_H + +// End of File