--- a/simpledatamodeladapter/src/presencepluginvirtualgroup.cpp Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-/*
-* Copyright (c) 2006-2009 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: IETF SIMPLE Protocol implementation for XIMP Framework
-*
-*/
-
-#include <e32std.h>
-
-#include <protocolpresentitygroupsdatahost.h>
-#include <presentitygroupmemberinfo.h>
-#include <protocolpresencedatahost.h>
-#include <presenceobjectfactory.h>
-#include <ximpobjectcollection.h>
-#include <ximpobjectfactory.h>
-#include <ximpidentity.h>
-
-#include "presencepluginvirtualgroup.h"
-#include "mpresencepluginconnectionobs.h"
-#include "presenceplugincommon.h"
-#include "presenceplugindata.h"
-
-const TInt KArrayGranularity = 5;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::~CPresencePluginVirtualGroup
-// ---------------------------------------------------------------------------
-CPresencePluginVirtualGroup::CPresencePluginVirtualGroup(
- MPresencePluginConnectionObs& aObs,
- CPresencePluginData* aPresenceData )
- :iConnObs( aObs ),
- iPresenceData( aPresenceData ),
- iVirtualMember( NULL )
- {
- DP_SDA("CPresencePluginVirtualGroup::CPresencePluginVirtualGroup");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::~CPresencePluginVirtualGroup
-// ---------------------------------------------------------------------------
-CPresencePluginVirtualGroup::~CPresencePluginVirtualGroup()
- {
- DP_SDA("CPresencePluginVirtualGroup::~CPresencePluginVirtualGroup1");
- delete iVirtualMember;
- delete iListName;
- DP_SDA("CPresencePluginVirtualGroup::~CPresencePluginVirtualGroup2");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::NewL
-// ---------------------------------------------------------------------------
-//
-CPresencePluginVirtualGroup* CPresencePluginVirtualGroup::NewL(
- MPresencePluginConnectionObs& aObs,
- const TDesC16& aListName,
- CPresencePluginData* aPresenceData )
- {
- CPresencePluginVirtualGroup* self =
- new (ELeave) CPresencePluginVirtualGroup( aObs, aPresenceData );
- CleanupStack::PushL( self );
- self->ConstructL( aListName );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPresencePluginVirtualGroup::ConstructL( const TDesC16& aListName )
- {
- DP_SDA("CPresencePluginVirtualGroup::ConstructL begin");
- iVirtualMember = new (ELeave) CDesCArrayFlat( KArrayGranularity );
- iListName = aListName.AllocL();
- DP_SDA("CPresencePluginVirtualGroup::ConstructL end");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::GetVirtualEntities
-// ---------------------------------------------------------------------------
-void CPresencePluginVirtualGroup::GetVirtualEntitiesL(
- MXIMPObjectCollection& aColl )
- {
- DP_SDA("CPresencePluginVirtualGroup::GetVirtualEntities begin");
- TInt count = iVirtualMember->Count();
- if ( count )
- {
- DP_SDA("CPresencePluginVirtualGroup MXIMPObjectFactory& myFactory");
- MXIMPObjectFactory& myFactory = iConnObs.ObjectFactory();
- for ( TInt i=0; i < count; i++ )
- {
- MXIMPIdentity* member = myFactory.NewIdentityLC();
- member->SetIdentityL( (*iVirtualMember)[i] );
- // create here MXIMPPresentityGroupMemberInfo
- MPresentityGroupMemberInfo* info =
- iConnObs.PresenceObjectFactoryOwn().
- NewPresentityGroupMemberInfoLC();
-
- DP_SDA("CPresencePluginVirtualGroup:: info->SetGroupMemberIdL");
- info->SetGroupMemberIdL( member ); //ownership taken
- info->SetGroupMemberDisplayNameL( member->Identity() );
- aColl.AddObjectL( info );
- CleanupStack::Pop( 2 ); // >> info, member
- DP_SDA2("CPresencePluginVirtualGroup:: done= handle next = %d", i);
- }
- DP_SDA("CPresencePluginVirtualGroup::GetOnlineEntities all done");
- }
- DP_SDA("CPresencePluginVirtualGroup::GetOnlineEntities end");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::AddEntityL
-// ---------------------------------------------------------------------------
-void CPresencePluginVirtualGroup::AddEntityL( const TDesC& aIdentityUri )
- {
- DP_SDA("CPresencePluginVirtualGroup::AddOnlineEntity - begin");
- HBufC* prefixStripped = aIdentityUri.AllocLC();
- if ( KErrNotFound == IdentityExists( aIdentityUri ) )
- {
- DP_SDA("CPresencePluginVirtualGroup::ivirtuaBuddys->AddObjectL");
- iVirtualMember->AppendL( *prefixStripped );
- }
- CleanupStack::PopAndDestroy( prefixStripped );
- DP_SDA("CPresencePluginVirtualGroup::AddOnlineEntity - end");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::RemoveOnlineEntity
-// ---------------------------------------------------------------------------
-void CPresencePluginVirtualGroup::RemoveEntityL(
- const TDesC& aIdentityUri )
- {
- DP_SDA("CPresencePluginVirtualGroup::RemoveOnlineEntity - begin");
- if ( iVirtualMember->Count() )
- {
- DP_SDA("CPresencePluginVirtualGroup::RemoveOnlineEntity - find");
- HBufC* prefixStripped = aIdentityUri.AllocLC();
- TInt result = IdentityExists( *prefixStripped );
- if ( KErrNotFound != result && result < iVirtualMember->Count() )
- {
- DP_SDA("CPresencePluginVirtualGroup:: - Remove");
- iVirtualMember->Delete( result );
- }
- CleanupStack::PopAndDestroy( prefixStripped );
- }
- DP_SDA("CPresencePluginVirtualGroup::RemoveOnlineEntity - end");
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::IdentityExists
-// ---------------------------------------------------------------------------
-TInt CPresencePluginVirtualGroup::IdentityExists( const TDesC& aIdentityUri )
- {
- DP_SDA("CPresencePluginVirtualGroup::IdentityExists - begin");
-
- TInt result( KErrNotFound );
-
- for ( TInt i=0; i<iVirtualMember->Count(); i++ )
- {
- if ( (*iVirtualMember)[i].CompareF( aIdentityUri ) == 0 )
- {
- DP_SDA2("IdentityExists - found at index = %d", i);
- result = i;
- break;
- }
- }
-
- DP_SDA("CPresencePluginVirtualGroup::IdentityExists - end");
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::GetVirtualIdentityArray
-// ---------------------------------------------------------------------------
-CDesCArray* CPresencePluginVirtualGroup::GetVirtualIdentityArray( )
- {
- DP_SDA("CPresencePluginVirtualGroup::GetVirtualIdentityArray - begin");
- return iVirtualMember;
- }
-
-// ---------------------------------------------------------------------------
-// CPresencePluginVirtualGroup::HandlePresentityGroupMemberAddedL
-// ---------------------------------------------------------------------------
-void CPresencePluginVirtualGroup::HandlePresentityGroupMemberAddedL(
- const TDesC& aIdentityUri )
- {
- DP_SDA("CPresencePluginVirtualGroup::HandlePresentityGroupMemberAddedL");
-
- MXIMPObjectFactory& myFactory = iConnObs.ObjectFactory();
- MProtocolPresentityGroupsDataHost& dataHost =
- iConnObs.ProtocolPresenceHost().GroupsDataHost();
- MXIMPIdentity* groupid = myFactory.NewIdentityLC();
- groupid->SetIdentityL( iListName->Des() );
- MXIMPIdentity* member = myFactory.NewIdentityLC();
- member->SetIdentityL( aIdentityUri );
- MPresentityGroupMemberInfo* info =
- iConnObs.PresenceObjectFactoryOwn().NewPresentityGroupMemberInfoLC();
- info->SetGroupMemberIdL( member ); //ownership taken
- info->SetGroupMemberDisplayNameL( member->Identity() );
- dataHost.HandlePresentityGroupMemberAddedL(
- groupid, info );// ownership taken
- DP_SDA("CPresencePluginVirtualGroup:: Notify Pop( 3 )");
- CleanupStack::Pop( 3 ); // groupid, member, info
-
- DP_SDA("CPresencePluginVirtualGroup::HandlePresentityGroupMemberAddedL End");
- }
-
-// End of file