contacts_plat/contactpresence_api/inc/mcontactpresence.h
changeset 0 e686773b3f54
--- /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