diff -r 5e7d68cc22e0 -r 0818dd463d41 coreapplicationuis/SysAp/Src/gan/sysapganpropertylistener.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/coreapplicationuis/SysAp/Src/gan/sysapganpropertylistener.h Thu Aug 19 10:05:08 2010 +0300 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2010 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: CSysApGanPropertyListener class definition. Class for +* RProperty changes from GAN server. +*/ + + +#ifndef C_SYSAPGANPROPERTYLISTENER_H +#define C_SYSAPGANPROPERTYLISTENER_H + +#include +#include +#include "msysapganpropertyobserver.h" + +/** + * Listen RProperty events. + */ +NONSHARABLE_CLASS( CSysApGanPropertyListener ) : + public CActive + { +public: + /** + * Static constructor. + * @param aProperty Property to listen to. + * @param aObserver Object that is informed about about new IAP usage. + */ + static CSysApGanPropertyListener* NewL( + RProperty& aProperty, + MSysApGanPropertyObserver& aObserver ); + + /** + * Destructor. + */ + ~CSysApGanPropertyListener(); + +protected: + /** + * C++ constructor. + * @param aProperty Property to listen to. + * @param aObserver Object that is informed about about new IAP usage. + */ + CSysApGanPropertyListener( + RProperty& aProperty, + MSysApGanPropertyObserver& aObserver ); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + +public: + /** + * Subscribes to a property. + */ + void Subscribe(); + +protected: // From CActive + + /** + * Handles an active object's request completion event. + */ + void RunL(); + + /** + * Cancels asynchronous request. + */ + void DoCancel(); + + /** + * Handles a leave occurring in RunL(). + * @param aError Error that caused RunL to leave. + */ + TInt RunError( TInt aError ); + +protected: // Data + + /** + * Observer to notifiy about property changes. + */ + MSysApGanPropertyObserver& iObserver; + + /** + * Property to listen to. + */ + RProperty& iProperty; + + }; + +#endif // C_SYSAPGANPROPERTYLISTENER_H