--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contacts_plat/contactpresence_api/inc/mcontactpresence.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2007, 2008 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: Presence of contact in phonebook.
+*
+*/
+
+
+#ifndef MCONTACTPRESENCE_H
+#define MCONTACTPRESENCE_H
+
+#include <e32std.h>
+#include <badesca.h>
+
+class MDesC8Array;
+class TSize;
+
+/**
+ * MContactPresence is interface of Contact Presence API. Objects of this
+ * interface are created using TContactPresenceFactory in contactpresencefactory.h.
+ * This API is used to get presence status icons of phonebook contacts.
+ * Asynchronous methods of this interface are completed in MContactPresenceObs
+ * which shall be implemented by the users of this interface.
+ *
+ * @lib contactpresence.lib
+ * @since s60 v5.0
+ */
+class MContactPresence
+ {
+public:
+
+ /**
+ * Destructor that must be called by client to destroy this object.
+ */
+ virtual void Close() = 0;
+
+ /**
+ * Get contacts's presence icon info and to subscribe for future changes in
+ * icon info. Response(s) are received in MContactPresenceObs::ReceiveIconInfoL()
+ * for each individual link if presence status for that link is available.
+ * If subscribing to certain contact presences fails then the observer
+ * will be informed by a call to MContactPresenceObs::PresenceSubscribeError()
+ * for every failed contact subscription.
+ *
+ * @param aLinkArray an array of packed contact links, specified in phonebook API
+ */
+ virtual void SubscribePresenceInfoL(const MDesC8Array& aLinkArray ) = 0;
+
+ /**
+ * Get icon file.
+ * Response is received in MContactPresenceObs::ReceiveIconFileL().
+ * If operation fails then MContactPresenceObs::ErrorOccured() is called.
+ *
+ * @param aBrandId branding id
+ * @param aElementId element id
+ * @return Operation ID
+ */
+ virtual TInt GetPresenceIconFileL( const TDesC8& aBrandId,
+ const TDesC8& aElementId ) = 0;
+
+ /**
+ * Set icon size
+ * If not set then a default size is used in response of GetPresenceIconFileL.
+ * @param aSize new size used from now on.
+ */
+ virtual void SetPresenceIconSize( const TSize aSize ) = 0;
+
+ /**
+ * Cancels subscriptions to presence info.
+ * Cancelling of non-subscribed contacts will not produce error callbacks.
+ * @param aLinkArray The contact links.
+ */
+ virtual void CancelSubscribePresenceInfo( const MDesC8Array& aLinkArray ) = 0;
+
+ /**
+ * Cancel the specific operation. Either GetPresenceIconFileL or GetPresenceInfoL.
+ * MContactPresenceObs is NOT called but the operations are cancelled silently.
+ * @param aOpId Operation id to identify the operation [IN]
+ */
+ virtual void CancelOperation( TInt aOpId ) = 0;
+
+ /**
+ * Cancel all pending operations.
+ * MContactPresenceObs is NOT called but the operations are cancelled silently.
+ */
+ virtual void CancelAll() = 0;
+
+ /**
+ * Get contacts's presence icon info but do not subscribe for future changes.
+ * Response is received in MContactPresenceObs::ReceiveIconInfosL().
+ * If operation fails then the observer
+ * will be informed by a call to MContactPresenceObs::ErrorOccured().
+ *
+ * @param aPackedLink a packed contact link for phonebook contact
+ * @return Operation ID
+ */
+ virtual TInt GetPresenceInfoL( const TDesC8& aPackedLink ) = 0;
+
+ };
+
+
+#endif // MCONTACTPRESENCE_H