diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstengine/inc/mvimpstenginepresencesubservice.h --- a/uiservicetab/vimpstengine/inc/mvimpstenginepresencesubservice.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,262 +0,0 @@ -/* -* Copyright (c) 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: M-Class that capsulates presence sub service API's -* -*/ - - -#ifndef MVIMPSTENGINEPRESENCESUBSERVICE_H -#define MVIMPSTENGINEPRESENCESUBSERVICE_H - -// INCLUDES -#include -#include "tvimpstenums.h" -#include "mvimpstenginesubservice.h" - - -//FORWARD DECLARATION -class MVIMPSTEnginePresenceSubServiceEventObserver; -class MVIMPSTEngineBlockedListFetchEventObserver; -//CLASS DECLARATION -/** - * - * This class list the M-Class for subservices - * - * @lib vimpstengine.lib - * @since S60 5.0 - */ -//Class declaration -class MVIMPSTEnginePresenceSubService: public MVIMPSTEngineSubService - { - - public: - - /** - * Casts MVIMPSTEnginePresenceSubService to this interface. - * - * @precond aSubService.Type() == TVIMPSTEnums::EPresence - * Panic(EPanicTypeMismatch) - * is raised if the precondition does not hold. - * @param aSubService Base Class . - * @return Casted inteface for the Presence SubService - */ - IMPORT_C static MVIMPSTEnginePresenceSubService& Cast( - MVIMPSTEngineSubService& aSubService); - - - /** - * Casts constMVIMPSTEnginePresenceSubService to this interface. - * - * @precond aSubService.Type() == TVIMPSTEnums::EPresence - * Panic(EPanicTypeMismatch) - * is raised if the precondition does not hold. - * @param aSubService Base Class . - * @return Casted inteface for the Presence SubService - */ - IMPORT_C static const MVIMPSTEnginePresenceSubService& Cast( - const MVIMPSTEngineSubService& aSubService); - - - /** - * RegisterPresenceEventObserver - * The observers that have implemented MVIMPSTEnginePresenceSubServiceEventObserver can use this API - * to register themselves to receive Presence SubService related events - * @param aObserver - Object that implements the observer class - * MVIMPSTEnginePresenceSubServiceEventObserver that needs to be added. - */ - virtual void RegisterPresenceEventObserverL( - MVIMPSTEnginePresenceSubServiceEventObserver* aObserver) = 0; - - /** - * UnRegisterChatObserver - * The observers that have implemented MVIMPSTEnginePresenceSubServiceEventObserver can use this API - * to unregister themselves from Presence SubService related events - * @param aObserver - Object that implements the observer class - * MVIMPSTEnginePresenceSubServiceEventObserver that needs to be removed. - */ - virtual void UnRegisterPresenceEventObserver( - MVIMPSTEnginePresenceSubServiceEventObserver* aObserver) = 0; - - /** - * Subsribes presence of a single contact - * Can be done for the contacts who are already subscribed(Required atleast in XMPP Case) - * This function can be used on FriendRequests also wherein it performs 2 operation - * 1. Accepts the invitation if Friend Request is Pending(GrantPresenceForPresentityL) - * 2. Subscribes for the presence either to PresenceCache - * or XIMP (MPresentityPresenceEvent) - * - * - * @since S60 5.0 - * @param aUriOfTheContact, Presence URI to be subscribed - */ - virtual void SubscribePresenceOfSingleContactL( const TDesC& aUriOfTheContact ) = 0; - - /** - * Unsubsribes presence of a single contact - * Used for those contact whose presence has been subscribed - * Can be used for Friend Requests also - * 1. Denies the invitation for the contact (WithdrawPresenceGrantFromPresentityL) - * 2. Sends a unsubscribe to PresenceCache - * or XIMP (UnsubscribePresentityPresenceL) - * - * @since S60 5.0 - * @param aUriOfTheContact, Presence URI to be subscribed - */ - virtual void UnSubscribePresenceOfSingleContactL( const TDesC& aUriOfTheContact ) = 0; - /** - * Fetches presence from presencecache. - * This is called by the service tab whenever it comes up, - * so that it has uptodate presence information of the contacts - * that are present in the service tab. - * - * @since S60 5.0 - **/ - virtual TInt FetchPresenceFromCache() = 0; - - - /** - * Requests the XIMPFw to subscribe for presence - * grant request list subscription. - */ - virtual void SubscribeForAuthorizationL() = 0; - - /** - * sends PresenceGrantForPresentity response to server - * - * @since S60 5.0 - * @param aContactId, id of the requesting party.. - * @param aResponse , Etrue if accpeted else rejected. - * @return TInt error if any - * - */ - virtual TInt SendPresenceGrantPresentityL( const TDesC& aContactId , TBool aResponse ) = 0; - - /** - * IsChangeOwnStatusSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - virtual TBool IsChangeOwnStatusSupported() = 0; - - /** - * IsStatusMsgSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - virtual TBool IsStatusMsgSupported() = 0; - - /** - * IsAvatarSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - virtual TBool IsAvatarSupported() = 0; - - /** - * SetAvatarSupported by the protocol - * - * @since S60 5.0 - * @param aSupported, TBool ETrue if supported else EFalse. - */ - virtual void SetAvatarSupported(TBool aSupported ) = 0; - - /** - * PublishOwnPresenceL - * to update the ownstatus to server. - * and publishes the own status. - * - * @param aStatus ,status to be updated to the server. - * @param aValue , text for the status message - * @param aFilename , avatar file name - * @param aMimetype , a mime type - * @param aIsAvatar , a avatar field included - * @return TInt error if any - */ - virtual TInt PublishOwnPresenceL(TVIMPSTEnums::TOnlineStatus aStatus, - const TDesC& aValue, - const TDesC& aFilename = KNullDesC, - const TDesC8& aMimetype = KNullDesC8, - TBool aIsAvatar = EFalse ) = 0 ; - - /** - * Removes URI from block list - * - * @since S60 5.0 - * @param aUriOfTheContact, URI to be removed - * @return error. - */ - virtual TInt RemoveFromBlockListL( const TDesC& aUriOfTheContact ) = 0; - - /** - * Adds URI to block list - * - * @since S60 5.0 - * @param aContactId, URI to be added - * @return error. - */ - virtual TInt AddToBlockListL( const TDesC& aContactId ) = 0; - - /** - * Returns the blocked list. - * it returns the blocked list that it maintains locally in engine. - * @since S60 5.0 - * @return blocked list. - */ - virtual RPointerArray* GetBlockedList() = 0; - - /** - * fetch blocked list from server to get the freshed blocked list. - *@param aOb,pointer of MVIMPSTEngineBlockedListFetchEventObserver, - * Notify that fetch of blocked list has been completed.. - */ - virtual void FetchBlockedListFromServerL(MVIMPSTEngineBlockedListFetchEventObserver* aOb) = 0; - - /** - * function call from the engine on the completion of contact fetch operation - */ - virtual void UpdatePresenceStateL() = 0; - - /** - * Fetches the presence of singlecontact form presence cache - * @param aContact, user id of the ocntact who's presence - * needs to eb fetched. - */ - virtual void FetchPresenceOfSingleContactL(const TDesC& aContact) = 0; - - /** - * Unsubscribes ximp group contents. - * - * Buddy list and authorization lists are always unsubscibed. - * Block list is unsubscribed if it is supported. - * - * @since S60 5.0 - * @param None - * @leave Standard Symbian error codes. - * @return None - */ - virtual void UnsubscribeListsL() = 0; - /** - * virtual Destructor - */ - virtual ~MVIMPSTEnginePresenceSubService() - {} - - }; - -#endif //MVIMPSTENGINEPRESENCESUBSERVICE_H - -