simpledatamodeladapter/src/presencepluginvirtualgroup.cpp
branchRCL_3
changeset 17 2669f8761a99
parent 16 2580314736af
child 18 fbd2e7cec7ef
--- a/simpledatamodeladapter/src/presencepluginvirtualgroup.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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(); 
-            HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( (*iVirtualMember)[i] );
-            member->SetIdentityL( *withoutPrefix );
-            CleanupStack::PopAndDestroy( withoutPrefix );
-            // 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