diff -r 6ca72c0fe49a -r a941bc465d9f inc/CPEngTrackedPresenceID2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/CPEngTrackedPresenceID2.h Wed Sep 01 12:31:13 2010 +0100 @@ -0,0 +1,198 @@ +/* +* Copyright (c) 2004 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: Tracked Presence ID. +* +*/ + + +#ifndef __CPENGTRACKEDPRESENCEID2_H +#define __CPENGTRACKEDPRESENCEID2_H + +// INCLUDES +#include + +//FORWARD DECLARATIONS +class CPEngTrackedPresenceIDEntry; + + + + +/** + * Tracked Presence ID. + * + * Presents one tracked Presence ID and list of + * presence attributes tracked for the Presence ID. + * + * In case of notification, holds also information + * of presence attributes that have changed for the Presence ID. + * + * @lib PEngManager2.lib + * @since 3.0 + */ +class CPEngTrackedPresenceID2 : public CBase + { + + //----------------------------------------------------------------------- + protected: /* Construction */ + + /** + * C++ constructor. + */ + CPEngTrackedPresenceID2( CPEngTrackedPresenceIDEntry& aImp ); + + + /** + * Destructor. + */ + ~CPEngTrackedPresenceID2(); + + + + + //----------------------------------------------------------------------- + public: /* Tracked presence data */ + + + /** + * Tracked presence ID. + * + * @since 3.0 + * @return Tracked presence ID. + */ + IMPORT_C TPtrC PresenceID() const; + + + + + //----------------------------------------------------------------------- + public: /* Iterators for tracked attributes */ + + /** + * Gets first tracked presence attribute + * for the Presence ID. Tracked attributes are + * kept in unsigned key order. + * + * @since 3.0 + * @return First tracked presence attribute. + * If there isn't any tracked attributes, returns + * KPEngNullAttributeType. + */ + IMPORT_C TUint32 FirstTrackedAttribute(); + + + + /** + * Gets next tracked presence attribute + * for the Presence ID. + * + * @since 3.0 + * @return Next tracked presence attribute. + * If there isn't any more tracked attributes, + * returns KPEngNullAttributeType. + */ + IMPORT_C TUint32 NextTrackedAttribute(); + + + + /** + * Resets the tracked attribute iterator to its + * initial state, so the a subsequent call to + * NextTrackedAttribute() method go to the first + * tracked item. + */ + IMPORT_C void ResetTrackedIterator(); + + + + + //----------------------------------------------------------------------- + public: /* Iterators for changed attributes */ + + + /** + * Gets first changed presence attribute for the + * Presence ID. Changed attributes are kept + * in unsigned key order. + * + * Changed attributes are available only + * after presence change notification. + * + * @since 3.0 + * @return First changed presence attribute. + * If there isn't any changed attributes, returns + * KPEngNullAttributeType. + */ + IMPORT_C TUint32 FirstChangedAttribute(); + + + + /** + * Gets next changed presence attribute + * for the Presence ID. + * + * Changed attributes are available only + * after presence change notification. + * + * @since 3.0 + * @return Next changed presence attribute. + * If there isn't any more changed attributes, + * returns KPEngNullAttributeType. + */ + IMPORT_C TUint32 NextChangedAttribute(); + + + + /** + * Resets the changed attribute iterator to its + * initial state, so the a subsequent call to + * NextChangedAttribute() method go to the first + * changed item. + * + * @since 3.0 + */ + IMPORT_C void ResetChangedIterator(); + + + + //----------------------------------------------------------------------- + private: /* Data */ + + + /** + * Implementation is friend. + * @since 3.0 + */ + friend class CPEngTrackedPresenceIDEntry; // CSI: 36 # + + + //REF: Implementation + CPEngTrackedPresenceIDEntry& iImp; + + //OWN: Iterator index + TInt iNextTrackedAttributeIx; + + //OWN: Iterator index + TInt iNextChangedAttributeIx; + + }; + +#endif //__CPENGTRACKEDPRESENCEID2_H + + +//End of file + + + + +