diff -r 000000000000 -r 5e5d6b214f4f uiservicetab/vimpstengine/tsrc/vimpstengine_ut/src/stubs/s_presentitygroups.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/vimpstengine/tsrc/vimpstengine_ut/src/stubs/s_presentitygroups.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,244 @@ +/* +* 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: Presentity group handling interface for clients use. +* +*/ +#ifndef MyPresentityGroupsStub_H +#define MyPresentityGroupsStub_H + +#include +#include +#include + +class MXIMPIdentity; + + +/** + * Presentity group handling interface for clients use. + * Interface is implemented by the XIMP Framework. + * + * MPresentityGroups provides services for + * XIMP Framework clients to manage presentity groups + * and presentity group members. It provides also services + * to subscribe notifications from presentity group list changes + * and from individual presentity group changes. + * + * Client can retrieve MPresentityGroups interface from + * MXIMPContext interface. + * + * @ingroup ximppresmanagementapi + * @since S60 v3.2 + */ +class MyPresentityGroupsStub : public MPresentityGroups, public CBase + { + +public: + /** + * Protected destructor. + * Object instancies can't be deleted via this interface. + */ + ~MyPresentityGroupsStub(); + + + /** + * Subscribes presentity group list notifications. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId SubscribePresentityGroupListL() ; + + + + /** + * Unsubscribes presentity group list notifications. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId UnsubscribePresentityGroupListL() ; + + + + /** + * Creates presentity group. + * + * Note: Remote service may alter given presentity group ID and + * display name. Altered ID and display names are signalled back + * to client through MXIMPRequestCompleteEvent. + * + * @param [in] aGroupId + * Identification for presentity group. + * + * @param [in] aDisplayName + * Presentity group display name. + * + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId CreatePresentityGroupL( + const MXIMPIdentity& aGroupId, + const TDesC16& aDisplayName ) ; + + + /** + * Deletes presentity group. + * + * @param [in] aGroupId + * Identification for presentity group. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId DeletePresentityGroupL( + const MXIMPIdentity& aGroupId ) ; + + + + /** + * Updates presentity group display name. + * + * Note: Remote service may alter given presentity group display name. + * Altered display name is signalled back to client through + * MXIMPRequestCompleteEvent. + * + * @param [in] aGroupId + * Identification for presentity group. + * + * @param [in] aDisplayName + * New display name for the presentity group. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId UpdatePresentityGroupDisplayNameL( + const MXIMPIdentity& aGroupId, + const TDesC16& aDisplayName ) ; + + + +public: //Prototypes for presentity group member management requests + + + /** + * Subscribes presentity group content notifications. + * + * @param [in] aGroupId + * Identification for presentity group for which + * to subscribe content notifications. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId SubscribePresentityGroupContentL( + const MXIMPIdentity& aGroupId ) ; + + + /** + * Unsubscribes presentity group content notifications. + * + * @param [in] aGroupId + * Identification for presentity group for which + * content notification subscription to terminate. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId UnsubscribePresentityGroupContentL( + const MXIMPIdentity& aGroupId ) ; + + + /** + * Requests the protocol to add new member to + * identified presentity group. + * + * + * Note: Remote service may alter given member and + * display name. Altered ID and display names + * are signalled back to client through MXIMPRequestCompleteEvent. + * + * @param [in] aGroupId + * Identification of the presentity group where to + * add new member. + * + * @param [in] aMemberId + * Identification of the new member. + * + * @param [in] aMemberDisplayName + * Display name for the added member. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId AddPresentityGroupMemberL( + const MXIMPIdentity& aGroupId, + const MXIMPIdentity& aMemberId, + const TDesC16& aMemberDisplayName ) ; + + + /** + * Requests the XIMPFw to remove member from + * identified presentity group. + * + * @param [in] aGroupId + * Identification of the presentity group from + * where to remove member. + * + * @param [in] aMemberId + * Identification of the member to remove. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId RemovePresentityGroupMemberL( + const MXIMPIdentity& aGroupId, + const MXIMPIdentity& aMemberId ) ; + + + + /** + * Requests the XIMPFw to update presentity group + * member display name. + * + * Note: Remote service may alter given presentity group member + * display name. Altered display name is signalled back + * to client through MXIMPRequestCompleteEvent. + * + * @param [in] aGroupId + * Identification for presentity group. + * + * @param [in] aMemberId + * Identification of the member which display + * name to update. + * + * @param [in] aMemberDisplayName + * New display name for the member. + * + * @return The request ID identifying the issued request. + */ + TXIMPRequestId UpdatePresentityGroupMemberDisplayNameL( + const MXIMPIdentity& aGroupId, + const MXIMPIdentity& aMemberId, + const TDesC16& aMemberDisplayName ) ; + + const TAny* GetInterface( + TInt32 aInterfaceId, + TIfGetOps aOps ) const; + + TAny* GetInterface( + TInt32 aInterfaceId, + TIfGetOps aOps ); + + TInt32 GetInterfaceId() const; + + }; + + + +#endif // MyPresentityGroupsStub_H + + +