diff -r 2580314736af -r 2669f8761a99 presencefwsimpleadpt/inc/simpleplugingroups.h --- a/presencefwsimpleadpt/inc/simpleplugingroups.h Thu Aug 19 10:19:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,441 +0,0 @@ -/* -* Copyright (c) 2006 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: Simple Protocol implementation for Presence Framework -* -*/ - - - - -#ifndef CSIMPLEPLUGINGROUPS_H -#define CSIMPLEPLUGINGROUPS_H - -#include - -#include -#include - -#include - -#include "simpleplugincommon.h" -#include "msimplepluginconnectionobs.h" - - -class TXIMPRequestId; -class MXIMPIdentity; -class MPresenceInfoFilter; -class MProtocolPresentityGroupsDataHost; -class MXIMPObjectCollection; - -class MSimpleWinfo; -class CPresenceXDM; -class CRLSXDM; -class CXdmEngine; -class CXdmDocument; - - -/** - * CSimplePluginGroups - * - * Simple Engine Connection - * - * @lib ?library - * @since s60 v5.0 - */ -NONSHARABLE_CLASS( CSimplePluginGroups ) : public CActive, - public MProtocolPresentityGroups - { -private: - - - /** - * Current operation - */ - enum TPluginGroupsOperation - { - ENoOperation, - ECreatePresentityGroup, - EDeletePresentityGroup, - EAddPresentityGroupMember, - ERemovePresentityGroupMember, - EGetListOfLists, - EGetListContent - }; - - /** - * Current actibe object state - */ - enum TPluginGroupsState - { - EPluginIdle, - EPluginInitXdm, - EPluginFetchRls, - EPluginAddGroupMember, - EPluginRemoveGroupMember, - EPluginCommitRls, - EPluginCommitXdm, - ERemoveGroupFromGranted - }; - -public: - /** - * Constructor. - * @param aObs callback for complete requests - */ - static CSimplePluginGroups* NewL( - MSimplePluginConnectionObs& aObs ); - - virtual ~CSimplePluginGroups(); - - - -private: - - CSimplePluginGroups( - MSimplePluginConnectionObs& aObs ); - - void ConstructL( ); - - -// from base class MXIMPBase -public: - - /** - * Defined in a base class - */ - TAny* GetInterface( - TInt32 aInterfaceId, - TIfGetOps aOps ); - - /** - * Defined in a base class - */ - const TAny* GetInterface( - TInt32 aInterfaceId, - TIfGetOps aOps ) const; - - /** - * Defined in a base class - */ - TInt32 GetInterfaceId() const; - - -// from base class MProtocolPresentityGroups - - /** - * Defined in a base class - */ - void DoSubscribePresentityGroupListL( - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoUnsubscribePresentityGroupListL( - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoCreatePresentityGroupL( - const MXIMPIdentity& aGroupId, - const TDesC16& aDisplayName, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoDeletePresentityGroupL( - const MXIMPIdentity& aGroupId, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoUpdatePresentityGroupDisplayNameL( - const MXIMPIdentity& aGroupId, - const TDesC16& aDisplayName, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoSubscribePresentityGroupContentL( - const MXIMPIdentity& aGroupId, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoUnsubscribePresentityGroupContentL( - const MXIMPIdentity& aGroupId, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoAddPresentityGroupMemberL( - const MXIMPIdentity& aGroupId, - const MXIMPIdentity& aMemberId, - const TDesC16& aMemberDisplayName, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoRemovePresentityGroupMemberL( - const MXIMPIdentity& aGroupId, - const MXIMPIdentity& aMemberId, - TXIMPRequestId aReqId ); - - /** - * Defined in a base class - */ - void DoUpdatePresentityGroupMemberDisplayNameL( - const MXIMPIdentity& aGroupId, - const MXIMPIdentity& aMemberId, - const TDesC16& aMemberDisplayName, - TXIMPRequestId aReqId ); - -protected: - -// from base class CActive - - /** - * Defined in a base class - */ - void RunL(); - - /** - * Defined in a base class - */ - TInt RunError( TInt aError ); - - /** - * Defined in a base class - */ - void DoCancel(); - -private: - - /** - * Save presentity id - * @param aPresentityId presentity id - */ - void SetPresIdentityL( - const MXIMPIdentity& aPresentityId ); - - /** - * Save presentity id - * @param aPresentityId presentity id - */ - void SetPresIdentity2L( - const MXIMPIdentity& aPresentityId ); - - /** - * Calls MXIMPProtocolConnectionHost callback - * @param aStatus error status - */ - void CompletePrFwReq( TInt aStatus ); - - /** - * Start XDM operation - */ - void StartXdmOperationL( - TXIMPRequestId aReqId, - TPluginGroupsOperation aOperation ); - - /** - * Start XDM operation - */ - void StartXdmOperationL( - const MXIMPIdentity& aId, - TXIMPRequestId aReqId, - TPluginGroupsOperation aOperation ); - - /** - * Start XDM operation - */ - void StartXdmOperationL( - const MXIMPIdentity& aId, - const TDesC16& aDisplayName, - TXIMPRequestId aReqId, - TPluginGroupsOperation aOperation ); - - /** - * Start XDM operation - */ - void StartXdmOperationL( - const MXIMPIdentity& aId, - const MXIMPIdentity& aMemberId, - TXIMPRequestId aReqId, - TPluginGroupsOperation aOperation ); - - /** - * Start XDM operation - */ - void StartXdmOperationL( - const MXIMPIdentity& aId, - const MXIMPIdentity& aMemberId, - const TDesC16& aDisplayName, - TXIMPRequestId aReqId, - TPluginGroupsOperation aOperation ); - - /** - * Start XDM operation - */ - void StartXdmOperationL(); - - /** - * Start XDM operation, StartXdmOperationL calls this. - */ - void DoStartXdmOperationL( ); - - /** - * Call CSimpleXdmUtils operation - */ - void CallActualXdmOperationL(); - - /** - * Get list of the entity lists - */ - void GetListOfListsL(); - - /** - * Get content of the entity list - */ - void GetListContentL(); - - /** - * Yields to active scheduler and runs next RunL loop - * @param aStatus error status - */ - void CompleteMe( TInt aStatus ); - - /** - * Copy data from aLists and from aNames into aCollection - * @param aNames group names [IN] - * @param aNames group display names [IN] - * @param aCollection collection of MPresentityGroupInfo [OUT] - */ - void CopyGroupArraysToCollectionL( - CDesCArrayFlat& aLists, CDesCArrayFlat& aNames, MXIMPObjectCollection& aCollection ); - - /** - * Copy data from aIds and from aNames into aCollection - * @param aNames group member names [IN] - * @param aNames group member display names [IN] - * @param aCollection collection of MPresentityGroupMemberInfo [OUT] - */ - void CopyGroupMembersToCollectionL( - CPtrCArray& aIds, CPtrCArray& aNames, MXIMPObjectCollection& aCollection); - - - /** - * Add presentity group - * @param aGroupId group id - * @param adispName display name - */ - void HandleCreatePresentityGroupL( - const TDesC& aGroupId, const TDesC& aDispName ); - - /** - * Delete presentity group - * @param aGroupId group id - */ - void HandleDeletePresentityGroupL( const TDesC& aGroupId ); - - /** - * Add presentity group member - */ - void HandleAddPresentityGroupMemberL(); - - /** - * Remove group member - */ - void HandleRemovePresentityGroupMemberL(); - - - -private: // Data - - /** - * PrFw Plugin connection observer - */ - MSimplePluginConnectionObs& iConnObs; - - /** - * XDM Settings id - */ - TInt iSettingsId; - - /** - * PrFW request id - */ - TXIMPRequestId iPrFwId; - - /** - * PrFW request id for own requests - */ - TXIMPRequestId iPrFwIdOwn; - - /** - * Simple Engine request id - */ - TInt iSimpleId; - - /** - * Subscribed items. Bitmask. - */ - TUint iSubscribed; - - /** - * Current operation - */ - TPluginGroupsOperation iOperation; - - /** - * Current presentity in progress - * Own. - */ - HBufC16* iPresIdentity; - - /** - * Current presentity in progress - * Own. - */ - HBufC16* iPresIdentity2; - - /** - * XDM Utils - * Not own. - */ - CSimplePluginXdmUtils* iXdmUtils; - - /** - * Display name - * Own - */ - HBufC* iDisplayName; - - /** - * Active object state - */ - TPluginGroupsState iState; - - TBool iCompleted; - - }; - -#endif // CSimplePluginGroups_H