diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/inc/s_vimpstenginepresencesubservice.h --- a/uiservicetab/vimpstcmdprocess/tsrc/vimpstcmdprocess_utest/inc/s_vimpstenginepresencesubservice.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,296 +0,0 @@ -/* -* Copyright (c) 2006, 2007 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: s_enginecontmgtextfeatures.cpp -* -*/ - -#ifndef S_VIMPSTENGINEPRESENCESUBSERVICE_H -#define S_VIMPSTENGINEPRESENCESUBSERVICE_H - -// INCLUDES -#include -#include "mvimpstenginepresencesubservice.h" -#include "mvimpstenginesubservice.h" - -//FORWARD DECLARATIONS - -class MVIMPSTEnginePresenceSubServiceEventObserver; -// CLASS DECLARATION -/** - * Presence sub service - * This class implements the presence subservice - * The problem in VOIP case would be that this "sip" must be hardcoded. Can this be avoided - * - * - * The Presence Information can be fetched either thro PresenceCache or - * thro XIMP's MPresentityPresenceEvent. So somehow we should be able to differentiate - * which service uses PresenceCache or XIMP's MPresentityPresenceEvent during the creation of this object - * One of the proposal could be is to use the CCH, if it could provide us this information or SP Settings - * - * All the Block/Friend Request/Presence information of a contact should be passed - * to the VIMPSTStorage which will update the list on the UI. - * - */ - - -NONSHARABLE_CLASS( CVIMPSTEnginePresenceSubService_Stub ): public CBase, - public MVIMPSTEnginePresenceSubService - - { - public: - - /** - * Two-phased constructor. - * - * @since s60 5.0 - * @param aServiceId, service id - * @param aCchHandler, reference to cchhandler. - * @param aTableFetcher, reference to settingstable. - * @param aXimpEventObserver, reference to ximpevent observer. - * @param aServiceStateListener, reference to servicestatelistener. - */ - static CVIMPSTEnginePresenceSubService_Stub* NewL( ); - - /** - * Two-phased constructor. - * - * @since s60 5.0 - * @param aServiceId, service id - * @param aCchHandler, reference to cchhandler. - * @param aTableFetcher, reference to settingstable. - * @param aXimpEventObserver, reference to ximpevent observer. - * @param aServiceStateListener, reference to servicestatelistener. - */ - static CVIMPSTEnginePresenceSubService_Stub* NewLC(); - - /** - * Standard C++ destructor - */ - ~CVIMPSTEnginePresenceSubService_Stub(); - - public: //From MVIMPSTSubService - - /** - * @return TVIMPSTRegistrationState Service State of this service - */ - TVIMPSTEnums::TVIMPSTRegistrationState SubServiceState() const; - - - TVIMPSTEnums::SubServiceType Type() const; - - - /** - * @see MVIMPSTSubService - */ - TBool Enabled(); - - - public: //From MVIMPSTEnginePresenceSubService - void FetchPresenceOfSingleContactL(const TDesC& aContact); - - void FetchPresenceOfSinleContactL(const TDesC& aUserId); - /** - * @see MVIMPSTEnginePresenceSubService - */ - void RegisterPresenceEventObserverL( - MVIMPSTEnginePresenceSubServiceEventObserver* aObserver); - - /** - * @see MVIMPSTEnginePresenceSubService - */ - void UnRegisterPresenceEventObserver( - MVIMPSTEnginePresenceSubServiceEventObserver* aObserver); - - /** - * 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 - */ - void SubscribePresenceOfSingleContactL( const TDesC& aUriOfTheContact ); - - - /** - * 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 - */ - void UnSubscribePresenceOfSingleContactL( const TDesC& aUriOfTheContact ); - - /** - * Fetches presence from presencecache. - * - * @since 5.0 - **/ - TInt FetchPresenceFromCache(); - - - /** - * Subscribe each contact. - * - * @since 5.0 - * @param aWVID id of the contact to be subscribed for. - */ - void SubscribeToPresenceCacheL(const TDesC& aWVID); - - /** - * UnSubscribe each contact. - * - * @since 5.0 - * @param aWVID id of the contact to be unsubscribed for. - */ - void UnSubscribeToPresenceCacheL(const TDesC& aWVID); - - /** - * Requests the XIMPFw to terminate presence - * grant request list subscription. - */ - void UnSubscribeForAuthorizationL(); - - /** - * Requests the XIMPFw to subscribe for presence - * grant request list subscription. - */ - void SubscribeForAuthorizationL(); - - /** - * sends PresenceGrantForPresentity response to server - * @param aContactId, id of the requesting party.. - * @param aResponse , Etrue if accpeted else rejected. - * @return TInt error if any - */ - TInt SendPresenceGrantPresentityL( const TDesC& aContactId , TBool aResponse ); - - /** - * IsChangeOwnStatusSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - TBool IsChangeOwnStatusSupported() ; - - /** - * IsStatusMsgSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - TBool IsStatusMsgSupported(); - - /** - * IsAvatarSupported by the protocol - * - * @since S60 5.0 - * @return TBool ETrue if supported else EFalse. - */ - TBool IsAvatarSupported() ; - - /** - * SetAvatarSupported by the protocol - * - * @since S60 5.0 - * @param aSupported, TBool ETrue if supported else EFalse. - */ - void SetAvatarSupported(TBool aSupported ) ; - - - /** - * 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 - */ - TInt PublishOwnPresenceL(TVIMPSTEnums::TOnlineStatus aStatus, - const TDesC& aValue, - const TDesC& aFilename = KNullDesC, - const TDesC8& aMimetype = KNullDesC8, - TBool aIsAvatar = EFalse ); - - - /** - * Removes URI from block list - * - * @since S60 5.0 - * @param aUriOfTheContact, URI to be removed - * @return error. - */ - TInt RemoveFromBlockListL( const TDesC& aUriOfTheContact ); - - /** - * Adds URI to block list - * - * @since S60 5.0 - * @param aUriOfTheContact, URI to be added - * @return error. - */ - TInt AddToBlockListL( const TDesC& aUriOfTheContact ); - /** - * Returns the blocked list. - * it returns the blocked list that it maintains locally in engine. - * @since S60 5.0 - * @return blocked list. - */ - RPointerArray* GetBlockedList(); - void FetchBlockedListFromServerL(MVIMPSTEngineBlockedListFetchEventObserver* aOb); - void UpdatePresenceStateL(); - void UnsubscribeListsL(); - - private: // Implementation - - /** - * Standard C++ constructor - * - * @since s60 5.0 - * @param aServiceId, service id - * @param aCchHandler, reference to cchhandler. - * @param aTableFetcher, reference to settingstable. - * @param aXimpEventObserver, reference to ximpevent observer. - * @param aServiceStateListener, reference to servicestatelistener. - */ - CVIMPSTEnginePresenceSubService_Stub( ); - - /** - * Performs the 2nd phase of construction. - */ - void ConstructL(); - - - private: // Data - - // Service identifier - TUint32 iServiceId; - - - }; - -#endif //S_VIMPSTENGINEPRESENCESUBSERVICE_H -