diff -r 000000000000 -r e6b17d312c8b ximpfw/presence/srcpresenceoperations/presenceoperationfactoryimp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ximpfw/presence/srcpresenceoperations/presenceoperationfactoryimp.cpp Thu Dec 17 08:54:49 2009 +0200 @@ -0,0 +1,442 @@ +/* +* Copyright (c) 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: Presence service operation factory + * +*/ + + +#include "presenceoperationfactoryimp.h" +#include "presenceoperationdefs.h" +#include "operationpublishownpresence.h" +#include "operationsubscribeownpresence.h" +#include "operationunsubscribeownpresence.h" +#include "operationhandleownpresence.h" +#include "operationhandlepresentitygroups.h" +#include "ximpoperationbase.h" +#include "operationsubscribegrouplist.h" +#include "operationunsubscribegrouplist.h" +#include "operationcreatepresentitygroup.h" +#include "operationsubscribepresentitypresence.h" +#include "operationunsubscribepresentitypresence.h" +#include "operationdeletepresentitygroup.h" +#include "operationupdatepresentitygroupdisplayname.h" +#include "operationhandlepresentitypresence.h" +#include "operationsubscribegroupcontent.h" +#include "operationunsubscribegroupcontent.h" +#include "operationaddpresentitygroupmember.h" +#include "operationremovepresentitygroupmember.h" +#include "operationupdatepresentitygroupmemberdisplayname.h" +#include "operationhandlepresentitygroupcontent.h" +#include "operationhandlepresentitygroupmemberadded.h" +#include "operationhandlepresentitygroupmemberremoved.h" +#include "operationhandlepresentitygroupmemberdisplaynameupdated.h" +#include "operationlaunchcleaner.h" +#include "operationsubscribewatcherlist.h" +#include "operationunsubscribewatcherlist.h" +#include "operationhandlepresencewatcherlist.h" +#include "operationsubscribepresentitygroupmemberspresence.h" +#include "operationunsubscribepresentitygroupmemberspresence.h" +#include "operationsubscribegrantrequestlist.h" +#include "operationunsubscribegrantrequestlist.h" +#include "operationhandlepresencegrantrequests.h" +#include "operationgrantpresencetopresentity.h" +#include "operationwithdrawpresencefrompresentity.h" +#include "operationgrantpresencetopresentitygroupmembers.h" +#include "operationwithdrawpresencefrompresentitygroupmembers.h" +#include "operationsubscribeblocklist.h" +#include "operationunsubscribeblocklist.h" +#include "operationblockpresenceforpresentity.h" +#include "operationcancelpresenceblockfrompresentity.h" +#include "operationhandlepresenceblocking.h" +#include "operationgrantpresencetoeveryone.h" +#include "operationwithdrawpresencefromeveryone.h" +#include "operationsetsubscriptiondata.h" +#include "ximppanics.h" +#include "ximptrace.h" + +using namespace NPresenceOps; + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CXIMPOperationFactory::NewL() +// Singleton access method. +// ----------------------------------------------------------------------------- +// +EXPORT_C CPresenceOperationFactory* CPresenceOperationFactory::NewL() + { + CPresenceOperationFactory* self = new ( ELeave ) CPresenceOperationFactory(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CXIMPOperationFactory::CXIMPOperationFactory() +// ----------------------------------------------------------------------------- +// +CPresenceOperationFactory::CPresenceOperationFactory() + { + } + +// ----------------------------------------------------------------------------- +// CXIMPOperationFactory::~CXIMPOperationFactory() +// ----------------------------------------------------------------------------- +// +CPresenceOperationFactory::~CPresenceOperationFactory() + { + #if _BullseyeCoverage + cov_write(); + #endif + } + + +// ----------------------------------------------------------------------------- +// CXIMPOperationFactory::ConstructL() +// ----------------------------------------------------------------------------- +// +void CPresenceOperationFactory::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CXIMPOperationFactory::CreateOperationL() +// ----------------------------------------------------------------------------- +// +CXIMPOperationBase* CPresenceOperationFactory::CreateOperationL( TInt aOperation ) + { + CXIMPOperationBase* op = NULL; + NPresenceOps::TPresenceOpTypes operation = ( NPresenceOps::TPresenceOpTypes ) aOperation; + switch( aOperation ) + { + + case EPrPublishOwnPresence: + { + op = new ( ELeave ) COperationPublishOwnPresence(); + TRACE( _L("Operation PublishOwnPresence created") ); + break; + } + + case EPrSubscribeOwnPresence: + { + op = new ( ELeave ) COperationSubscribeOwnPresence(); + TRACE( _L("Operation SubscribeOwnPresence created") ); + break; + } + + case EPrUnsubscribeOwnPresence: + { + op = new ( ELeave ) COperationUnsubscribeOwnPresence(); + TRACE( _L("Operation UnsubscribeOwnPresence created") ); + break; + } + + case EPrHandleOwnPresence: + { + op = new ( ELeave ) COperationHandleOwnPresence(); + TRACE( _L("Operation HandleOwnPresence created") ); + break; + } + + case EPrSubscribeGroupList: + { + op = new ( ELeave ) COperationSubscribeGroupList(); + TRACE( _L("Operation UnsubscribeOwnPresence created") ); + break; + } + + case EPrUnsubscribeGroupList: + { + op = new ( ELeave ) COperationUnsubscribeGroupList(); + TRACE( _L("Operation SubscribeGroupList created") ); + break; + } + + case EPrCreatePresentityGroup: + { + op = new ( ELeave ) COperationCreatePresentityGroup(); + TRACE( _L("Operation CreatePresentityGroup created") ); + break; + } + + case EPrDeletePresentityGroup: + { + op = new ( ELeave ) COperationDeletePresentityGroup(); + TRACE( _L("Operation DeletePresentityGroup created") ); + break; + } + + case EPrUpdatePresentityGroupDisplayName: + { + op = new ( ELeave ) COperationUpdatePresentityGroupDisplayName(); + TRACE( _L("Operation UpdatePresentityGroupDisplayName created") ); + break; + } + + case EPrSubscribePresentityGroupContent: + { + op = new ( ELeave ) COperationSubscribeGroupContent(); + TRACE( _L("Operation SubscribeGroupContent created") ); + break; + } + + case EPrUnsubscribePresentityGroupContent: + { + op = new ( ELeave ) COperationUnsubscribeGroupContent(); + TRACE( _L("Operation UnsubscribeGroupContent created") ); + break; + } + + case EPrAddPresentityGroupMember: + { + op = new ( ELeave ) COperationAddPresentityGroupMember(); + TRACE( _L("Operation AddPresentityGroupMember created") ); + break; + } + + case EPrRemovePresentityGroupMember: + { + op = new ( ELeave ) COperationRemovePresentityGroupMember(); + TRACE( _L("Operation RemovePresentityGroupMember created") ); + break; + } + + case EPrUpdatePresentityGroupMemberDisplayName: + { + op = new ( ELeave ) COperationUpdatePresentityGroupMemberDisplayName(); + TRACE( _L("Operation UpdatePresentityGroupMemberDisplayName created") ); + break; + } + + case EPrSubscribePresentityPresence: + { + op = new ( ELeave ) COperationSubscribePresentityPresence(); + TRACE( _L("Operation SubscribePresentityPresence created") ); + break; + } + + case EPrUnsubscribePresentityPresence: + { + op = new ( ELeave ) COperationUnsubscribePresentityPresence(); + TRACE( _L("Operation UnsubscribePresentityPresence created") ); + break; + } + + case EPrSubscribePresenceWatcherList: + { + op = new ( ELeave ) COperationSubscribeWatcherList(); + TRACE( _L("Operation SubscribeWatcherList created") ); + break; + } + case EPrUnsubscribePresenceWatcherList: + { + op = new ( ELeave ) COperationUnsubscribeWatcherList(); + TRACE( _L("Operation UnsubscribeWatcherList created") ); + break; + } + + case EPrHandlePresentityPresence: // Flowthrough + case EPrHandlePresentityPresenceTerminated: + { + op = new ( ELeave ) COperationHandlePresentityPresence( aOperation ); + TRACE( _L("Operation HandlePresentityPresence created") ); + break; + } + + case EPrHandlePresenceWatcherList: + { + op = new ( ELeave ) COperationHandlePresenceWatcherList(); + TRACE( _L("Operation HandlePresenceWatcherList created") ); + break; + } + + case EPrHandlePresentityGroupList: + case EPrHandlePresentityGroupCreated: + case EPrHandlePresentityGroupDeleted: + case EPrHandlePresentityGroupDisplayNameUpdated: + { + op = new ( ELeave ) COperationHandlePresentityGroups( operation ); + TRACE( _L("Operation HandlePresentityGroups created") ); + break; + } + + case EPrHandlePresentityGroupContent: + { + op = new ( ELeave ) COperationHandlePresentityGroupContent(); + TRACE( _L("Operation HandlePresentityGroupContent created") ); + break; + } + + case EPrHandlePresentityGroupMemberAdded: + { + op = new ( ELeave ) COperationHandlePresentityGroupMemberAdded(); + TRACE( _L("Operation HandlePresentityGroupMemberAdded created") ); + break; + } + + case EPrHandlePresentityGroupMemberRemoved: + { + op = new ( ELeave ) COperationHandlePresentityGroupMemberRemoved(); + TRACE( _L("Operation HandlePresentityGroupMemberRemoved created") ); + break; + } + + case EPrHandlePresentityGroupMemberDisplayNameUpdated: + { + op = new ( ELeave ) COperationHandlePresentityGroupMemberDisplayNameUpdated(); + TRACE( _L("Operation HandlePresentityGroupMemberDisplayNameUpdated created") ); + break; + } + + case EPrSubscribePresentityGroupMembersPresence: + { + op = new ( ELeave ) COperationSubscribePresentityGroupMembersPresence(); + TRACE( _L("Operation SubscribePresentityGroupMembersPresence created") ); + break; + } + + case EPrUnsubscribePresentityGroupMembersPresence: + { + op = new ( ELeave ) COperationUnsubscribePresentityGroupMembersPresence(); + TRACE( _L("Operation UnsubscribePresentityGroupMembersPresence created") ); + break; + } + + case EPrSubscribePresenceGrantRequestList: + { + op = new ( ELeave ) COperationSubscribeGrantRequestList(); + TRACE( _L("Operation SubscribeGrantRequestList created") ); + break; + } + + case EPrUnsubscribePresenceGrantRequestList: + { + op = new ( ELeave ) COperationUnsubscribeGrantRequestList(); + TRACE( _L("Operation UnsubscribeGrantRequestList created") ); + break; + } + + case EPrHandlePresenceGrantRequestList: + case EPrHandlePresenceGrantRequestReceived: + case EPrHandlePresenceGrantRequestObsoleted: + { + op = new ( ELeave ) COperationHandlePresenceGrantRequests( operation ); + TRACE( _L("Operation HandlePresenceGrantRequests created") ); + break; + } + case EPrGrantPresenceToPresentity: + { + op = new ( ELeave ) COperationGrantPresenceToPresentity(); + TRACE( _L("Operation GrantPresenceToPresentity created") ); + break; + } + case EPrWithdrawPresenceFromPresentity: + { + op = new ( ELeave ) COperationWithdrawPresenceFromPresentity(); + TRACE( _L("Operation WithdrawPresenceFromPresentity created") ); + break; + } + case EPrGrantPresenceToPresentityGroupMembers: + { + op = new ( ELeave ) COperationGrantPresenceToPresentityGroupMembers(); + TRACE( _L("Operation GrantPresenceToPresentityGroupMembers created") ); + break; + } + case EPrWithdrawPresenceFromPresentityGroupMembers: + { + op = new ( ELeave ) COperationWithdrawPresenceFromPresentityGroupMembers(); + TRACE( _L("Operation WithdrawPresenceFromPresentityGroupMembers created") ); + break; + } + + case EPrGrantPresenceToEveryone: + { + op = new ( ELeave ) COperationGrantPresenceToEveryone(); + TRACE( _L("Operation GrantPresenceToEveryone created") ); + break; + } + case EPrWithdrawPresenceFromEveryone: + { + op = new ( ELeave ) COperationWithdrawPresenceFromEveryone(); + TRACE( _L("Operation WithdrawPresenceFromEveryone created") ); + break; + } + + case EXIMPCleaner: + { + op = new ( ELeave ) COperationLaunchCleaner(); + TRACE( _L("Operation LaunchCleaner created") ); + break; + } + + case EPrSubscribeBlockList: + { + op = new ( ELeave ) COperationSubscribeBlockList(); + TRACE( _L("Operation SubscribeBlockList created") ); + break; + } + case EPrUnsubscribeBlockList: + { + op = new ( ELeave ) COperationUnsubscribeBlockList(); + TRACE( _L("Operation UnsubscribeBlockList created") ); + break; + } + + case EPrBlockPresenceForPresentity: + { + op = new ( ELeave ) COperationBlockPresenceForPresentity(); + TRACE( _L("Operation BlockPresenceForPresentity created") ); + break; + } + + case EPrCancelPresenceBlockFromPresentity: + { + op = new ( ELeave ) COperationCancelPresenceBlockFromPresentity(); + TRACE( _L("Operation CancelPresenceBlockFromPresentity created") ); + break; + } + + case EPrHandlePresenceBlockList: + case EPrHandlePresenceBlocked: + case EPrHandlePresenceBlockCanceled: + { + op = new ( ELeave ) COperationHandlePresenceBlocking( operation ); + TRACE( _L("Operation HandlePresenceBlocking created") ); + break; + } + + case EPrSetOwnPresenceDataSubscriptionState: + case EPrSetPresenceBlockDataSubscriptionState: + case EPrSetPresenceGrantRequestDataSubscriptionState: + case EPrSetPresenceWatcherListDataSubscriptionState: + case EPrSetPresentityGroupListDataSubscriptionState: + case EPrSetPresentityGroupContentDataSubscriptionState: + case EPrSetPresentityPresenceDataSubscriptionState: + { + op = new ( ELeave ) COperationSetSubscriptionData( operation ); + TRACE( _L("Operation SetSubscriptionData created") ); + break; + } + + // commented by pankaj. + //XIMP_DEFAULT_CASE_UNSUPPORTED( NXIMPPrivPanic::EInvalidOperationType ); + } + + return op; + } +// End of file + +