diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstatereferenceplugins/clayer/inc/ssmpropertyobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstatereferenceplugins/clayer/inc/ssmpropertyobserver.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,75 @@ +// Copyright (c) 2008-2009 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: +// + +#ifndef __SSMPROPERTYOBSERVER_H__ +#define __SSMPROPERTYOBSERVER_H__ + +#include +#include +#include + +/** + * Provide an abstract class for observing RProperty value changes from the SSM Utility Server. + * + * @publishedPartner + * @released + */ +class CSsmPropertyObserver : public CActive, public MSsmUtility +{ +public: + + IMPORT_C CSsmPropertyObserver(TUid aCategory, TUint aKey); + + /** + * Function that is called everytime the property for this observer changes. + * + * This is also called once when the observation is first started using StartL(). + * + * @param aValue The new value for the observed property. + * + * @return ETrue if this observer should continue to monitor, EFalse otherwise. + * + * @note If EFalse is returned from this object then this object is not destroyed. + * + * @publishedPartner + * @released + */ + virtual TBool PropertyChangedL(TInt aValue) = 0; + + // From MSsmUtility + IMPORT_C virtual void InitializeL(); + IMPORT_C virtual void StartL(); + IMPORT_C virtual void Release(); + +protected: + void doRunL(); + + IMPORT_C virtual ~CSsmPropertyObserver(); + + // From CActive + IMPORT_C virtual void RunL(); + IMPORT_C virtual void DoCancel(); + IMPORT_C virtual TInt RunError(TInt aError); + +protected: + const TUid iCategory; + const TUint iKey; + + RProperty iProperty; + + TInt iReserved[2]; +}; + +#endif // __SSMPROPERTYOBSERVER_H__