diff -r 000000000000 -r 094583676ce7 inc/CPEngTrackedPresenceIDs2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/CPEngTrackedPresenceIDs2.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,189 @@ +/* +* 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 IDs. +* +*/ + +#ifndef __CPENGTRACKEDPRESENCEIDS2_H +#define __CPENGTRACKEDPRESENCEIDS2_H + + +// INCLUDES +#include + + +//FORWARD DECLARATIONS +class CPEngTrackedPresenceIDCollection; +class CPEngTrackedPresenceID2; + + + +/** + * Tracked Presence IDs. + * + * Presents a collection of tracked Presence IDs. + * One tracked presence ID is presented with CPEngTrackedPresenceID2 + * interface which gives access to individual attributes tracked for + * the presence ID. + * + * In case of notification, holds information of presence IDs that + * have changed. (Changed attributes for one Presence ID can be + * iterated from CPEngTrackedPresenceID2.) + * + * @lib PEngManager2.lib + * @since 3.0 + */ +class CPEngTrackedPresenceIDs2 : public CBase + { + //----------------------------------------------------------------------- + protected: /* Construction */ + + /** + * C++ constructor. + */ + CPEngTrackedPresenceIDs2( CPEngTrackedPresenceIDCollection& aImp ); + + + /** + * Destructor. + */ + ~CPEngTrackedPresenceIDs2(); + + + + + //----------------------------------------------------------------------- + public: /* Iterators for Tracked presence IDs*/ + + /** + * Count of tracked presence IDs. + * + * @since 3.0 + * @return Count of tracked presence IDs. + */ + IMPORT_C TInt TrackedPresenceIDsCount() const; + + + /** + * Gets first tracked Presence ID. + * Tracked Presence IDs are kept in + * ascending key order. + * + * @since 3.0 + * @return First tracked Presence ID. + * If there isn't any tracked Presence IDs, + * returns NULL. Object ownership stays on + * the collection. + */ + IMPORT_C CPEngTrackedPresenceID2* FirstTrackedPresenceID(); + + + /** + * Gets next tracked Presence ID. + * + * @since 3.0 + * @return Next tracked Presence ID. + * If there isn't any more tracked Presence IDs, + * returns NULL. Object ownership stays on + * the collection. + */ + IMPORT_C CPEngTrackedPresenceID2* NextTrackedPresenceID(); + + + /** + * Resets the tracked Presence ID iterator to its + * initial state, so the a subsequent call to + * NextTrackedPresenceID() method go to the first + * tracked item. + */ + IMPORT_C void ResetTrackedIterator(); + + + + //----------------------------------------------------------------------- + public: /* Iterators for changed attributes */ + + + /** + * Gets first changed Presence ID. + * + * Changed Presence IDs are kept in + * ascending key order. Changed Presence IDs + * are available only after presence change + * notification. + * + * @since 3.0 + * @return First changed Presence ID. + * If there isn't any changed Presence IDs, + * returns NULL. Object ownership stays on + * the collection. + */ + IMPORT_C CPEngTrackedPresenceID2* FirstChangedPresenceID(); + + + /** + * Gets next changed Presence ID. + * + * Changed attributes are available only + * after presence change notification. + * + * @since 3.0 + * @return Next changed Presence ID. + * If there isn't any changed Presence IDs, + * returns NULL. Object ownership stays on + * the collection. + */ + IMPORT_C CPEngTrackedPresenceID2* NextChangedPresenceID(); + + + /** + * Resets the changed Presence ID iterator to its + * initial state, so the a subsequent call to + * NextChangedPresenceID() method go to the first + * changed item. + * + * @since 3.0 + */ + IMPORT_C void ResetChangedIterator(); + + + + //----------------------------------------------------------------------- + private: /* Data */ + + + /** + * Implementation is friend. + * @since 3.0 + */ + friend class CPEngTrackedPresenceIDCollection; // CSI: 36 # + + + //REF: Implementation + CPEngTrackedPresenceIDCollection& iImp; + + //OWN: Iterator index + TInt iNextTrackedIdIx; + + //OWN: Iterator index + TInt iNextChangedIdIx; + + }; + +#endif //__CPENGTRACKEDPRESENCEIDS2_H + +//End of file + + +