memspy/Engine/Source/Helpers/MemSpyEngineHelperServer.cpp
changeset 51 98307c651589
parent 42 0ff24a8f6ca2
child 52 c2f44e33b468
--- a/memspy/Engine/Source/Helpers/MemSpyEngineHelperServer.cpp	Fri Aug 27 11:37:29 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,455 +0,0 @@
-/*
-* Copyright (c) 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:
-*
-*/
-
-#include <memspy/engine/memspyenginehelperserver.h>
-
-// Driver includes
-#include <memspy/driver/memspydriverclient.h>
-#include <memspy/driver/memspydriverconstants.h>
-
-// User includes
-#include <memspy/engine/memspyengine.h>
-#include <memspy/engine/memspyengineoutputsink.h>
-#include <memspy/engine/memspyengineobjectthread.h>
-#include <memspy/engine/memspyengineobjectprocess.h>
-#include <memspy/engine/memspyengineobjectcontainer.h>
-#include <memspy/engine/memspyenginehelperchunk.h>
-
-// Literal constants
-_LIT( KMemSpyEngineServListOutputComma, ", " );
-
-
-
-CMemSpyEngineHelperServer::CMemSpyEngineHelperServer( CMemSpyEngine& aEngine )
-:   iEngine( aEngine )
-    {
-    }
-
-    
-CMemSpyEngineHelperServer::~CMemSpyEngineHelperServer()
-    {
-    }
-
-
-void CMemSpyEngineHelperServer::ConstructL()
-    {
-    }
-
-
-CMemSpyEngineHelperServer* CMemSpyEngineHelperServer::NewL( CMemSpyEngine& aEngine )
-    {
-    CMemSpyEngineHelperServer* self = new(ELeave) CMemSpyEngineHelperServer( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-EXPORT_C void CMemSpyEngineHelperServer::GetServerSessionsL( TAny* aServerHandle, RArray<TMemSpyDriverServerSessionInfo>& aSessions )
-    {
-	const TInt KMaxCount = 256;
-	TAny* handles[KMaxCount];
-	TInt c = KMaxCount;
-
-	TInt r = iEngine.Driver().GetServerSessionHandles( aServerHandle, handles, c );
-	if  ( r == KErrNone )
-    	{
-        if  ( c > 0 )
-            {
-        	if (c > KMaxCount)
-        		{
-        		c = KMaxCount;
-        		}
-
-        	TMemSpyDriverServerSessionInfo info;
-        	for (TInt i=0; i<c; i++)
-        		{
-        		r = iEngine.Driver().GetServerSessionInfo( handles[i], info );
-        		if (r == KErrNone)
-        			{
-        			aSessions.AppendL( info );
-        			}
-        		}
-            }
-        }
-    }
-
-
-EXPORT_C void CMemSpyEngineHelperServer::GetServerSessionsL( const TMemSpyDriverHandleInfoGeneric& aServerDetails, RArray<TMemSpyDriverServerSessionInfo>& aSessions )
-    {
-    GetServerSessionsL( aServerDetails.iHandle, aSessions );
-    }
-
-
-EXPORT_C void CMemSpyEngineHelperServer::GetServerListL( RArray<TMemSpyDriverHandleInfoGeneric>& aServers )
-    {
-	const TInt KMaxCount = 256;
-	TAny* handles[KMaxCount];
-	TInt c = KMaxCount;
-
-	TInt r = iEngine.Driver().GetContainerHandles( EMemSpyDriverContainerTypeServer, handles, c );
-	if  ( r == KErrNone )
-    	{
-        if  ( c > 0 )
-            {
-        	if (c > KMaxCount)
-        		{
-        		c = KMaxCount;
-        		}
-
-        	TMemSpyDriverHandleInfoGeneric info;
-        	for (TInt i=0; i<c; i++)
-        		{
-        		r = iEngine.Driver().GetGenericHandleInfo( KMemSpyDriverEnumerateContainerHandles, EMemSpyDriverContainerTypeServer, handles[i], info );
-        		if (r == KErrNone)
-        			{
-        			aServers.AppendL( info );
-        			}
-        		}
-            }
-        }
-    }
-
-
-EXPORT_C CMemSpyEngineServerList* CMemSpyEngineHelperServer::ServerListL()
-    {
-    CMemSpyEngineServerList* list = CMemSpyEngineServerList::NewLC();
-    //
-    RArray<TMemSpyDriverHandleInfoGeneric> servers;
-    CleanupClosePushL( servers );
-    //
-    GetServerListL( servers );
-    //
-    const TInt count = servers.Count();
-    for( TInt i=0; i<count; i++ )
-        {
-        const TMemSpyDriverHandleInfoGeneric& details = servers[ i ];
-        //
-        CMemSpyEngineServerEntry* serverEntry = CMemSpyEngineServerEntry::NewLC( details );
-        list->AddItemL( serverEntry );
-        CleanupStack::Pop( serverEntry );
-        }
-    //
-    CleanupStack::PopAndDestroy( &servers );
-
-    // Sort the list by session count
-    list->SortBySessionCountL();
-
-    // Done
-    CleanupStack::Pop( list );
-    return list;
-    }
-
-
-CMemSpyEngine& CMemSpyEngineHelperServer::Engine() const
-    {
-    return iEngine;
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-CMemSpyEngineServerList::CMemSpyEngineServerList()
-    {
-    }
-
-
-EXPORT_C CMemSpyEngineServerList::~CMemSpyEngineServerList()
-    {
-    iItems.ResetAndDestroy();
-    iItems.Close();
-    }
-
-
-void CMemSpyEngineServerList::ConstructL()
-    {
-    }
-
-
-CMemSpyEngineServerList* CMemSpyEngineServerList::NewLC()
-    {
-    CMemSpyEngineServerList* self = new(ELeave) CMemSpyEngineServerList();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-EXPORT_C TInt CMemSpyEngineServerList::Count() const
-    {
-    return iItems.Count();
-    }
-
-
-EXPORT_C const CMemSpyEngineServerEntry& CMemSpyEngineServerList::At( TInt aIndex ) const
-    {
-    return *iItems[ aIndex ];
-    }
-
-
-EXPORT_C void CMemSpyEngineServerList::SortByNameL()
-    {
-    TLinearOrder< CMemSpyEngineServerEntry > comparer( CompareByName );
-    iItems.Sort( comparer );
-    }
-
-
-EXPORT_C void CMemSpyEngineServerList::SortBySessionCountL()
-    {
-    TLinearOrder< CMemSpyEngineServerEntry > comparer( CompareBySessionCount );
-    iItems.Sort( comparer );
-    }
-
-
-EXPORT_C TInt CMemSpyEngineServerList::ItemIndex( const CMemSpyEngineServerEntry& aEntry ) const
-    {
-    TInt ret = KErrNotFound;
-    //
-    const TInt count = Count();
-    for( TInt i=0; i<count; i++ )
-        {
-        const CMemSpyEngineServerEntry* item = iItems[ i ];
-        //
-        if  ( item == &aEntry )
-            {
-            ret = i;
-            break;
-            }
-        }
-    //
-    return ret;
-    }
-
-
-EXPORT_C void CMemSpyEngineServerList::OutputDataColumnsL( CMemSpyEngine& aEngine, TBool aClientThreadColumns )
-    {
-    HBufC* columns = HBufC::NewLC( 1024 );
-    TPtr pColumns( columns->Des() );
-    //
-    _LIT(KCol1, "Thread/Process Id");
-    pColumns.Append( KCol1 );
-    pColumns.Append( KMemSpyEngineServListOutputComma );
-    //
-    _LIT(KCol2, "Name");
-    pColumns.Append( KCol2 );
-    pColumns.Append( KMemSpyEngineServListOutputComma );
-    //
-    _LIT(KCol3, "Connected Session Count");
-    pColumns.Append( KCol3 );
-    //
-    if  ( aClientThreadColumns )
-        {
-        _LIT(KCol4, "Connected Client");
-        pColumns.Append( KMemSpyEngineServListOutputComma );
-        pColumns.Append( KCol4 );
-        }
-    //
-    aEngine.Sink().OutputLineL( pColumns );
-    CleanupStack::PopAndDestroy( columns );
-    }
-
-
-void CMemSpyEngineServerList::AddItemL( CMemSpyEngineServerEntry* aItem )
-    {
-    iItems.AppendL( aItem );
-    }
-
-
-EXPORT_C TInt CMemSpyEngineServerList::MdcaCount() const
-    {
-    return Count();
-    }
-
-
-EXPORT_C TPtrC CMemSpyEngineServerList::MdcaPoint( TInt aIndex ) const
-    {
-    const CMemSpyEngineServerEntry& item = At( aIndex );
-    return TPtrC( item.Caption() );
-    }
-
-
-TInt CMemSpyEngineServerList::CompareByName( const CMemSpyEngineServerEntry& aLeft, const CMemSpyEngineServerEntry& aRight )
-    {
-    const TInt ret = aLeft.Name().CompareF( aRight.Name() );
-    return ret;
-    }
-
-
-TInt CMemSpyEngineServerList::CompareBySessionCount( const CMemSpyEngineServerEntry& aLeft, const CMemSpyEngineServerEntry& aRight )
-    {
-    TInt ret = -1;
-    //
-    if  ( aLeft.SessionCount() < aRight.SessionCount() )
-        {
-        ret = 1;
-        }
-    else if ( aLeft.SessionCount() == aRight.SessionCount() )
-        {
-        ret = 0;
-        }
-    //
-    return ret;
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-CMemSpyEngineServerEntry::CMemSpyEngineServerEntry()
-    {
-    }
-
-
-EXPORT_C CMemSpyEngineServerEntry::~CMemSpyEngineServerEntry()
-    {
-    delete iCaption;
-    delete iName;
-    }
-
-
-void CMemSpyEngineServerEntry::ConstructL( const TMemSpyDriverHandleInfoGeneric& aInfo )
-    {
-    iName = HBufC::NewL( aInfo.iName.Length() );
-    iName->Des().Copy( aInfo.iName );
-    iSessionCount = aInfo.iCount;
-    iId = aInfo.iId;
-    iHandle = aInfo.iHandle;
-
-    // Make caption
-    _LIT(KServerListFormat, "\t%S\t\t%d session");
-    TBuf<KMaxFullName + 128> item;
-    //
-    item.Format( KServerListFormat, iName, iSessionCount );
-    //
-    if  ( iSessionCount != 1 )
-        {
-        // Add missing 's' 
-        item.Append( TChar('s') );
-        }
-    //
-    iCaption = item.AllocL();
-    }
-
-
-CMemSpyEngineServerEntry* CMemSpyEngineServerEntry::NewLC( const TMemSpyDriverHandleInfoGeneric& aInfo )
-    {
-    CMemSpyEngineServerEntry* self = new(ELeave) CMemSpyEngineServerEntry();
-    CleanupStack::PushL( self );
-    self->ConstructL( aInfo );
-    return self;
-    }
-
-
-EXPORT_C void CMemSpyEngineServerEntry::OutputDataL( CMemSpyEngineHelperServer& aHelper, TBool aClientThreadColumns ) const
-    {
-    _LIT(KMemSpyEngineServListOutputDecimal, "%d");
-    _LIT(KMemSpyEngineServListOutputString, "%S");
-    //
-    HBufC* columns = HBufC::NewLC( 1024 );
-    TPtr pColumns( columns->Des() );
-    //
-    pColumns.AppendFormat( KMemSpyEngineServListOutputDecimal, Id() );
-    pColumns.Append( KMemSpyEngineServListOutputComma );
-    //
-    pColumns.AppendFormat( KMemSpyEngineServListOutputString, &Name() );
-    pColumns.Append( KMemSpyEngineServListOutputComma );
-    //
-    pColumns.AppendFormat( KMemSpyEngineServListOutputDecimal, SessionCount() );
-    //
-    aHelper.Engine().Sink().OutputLineL( pColumns );
-
-    if  ( aClientThreadColumns )
-        {
-        RArray<TMemSpyDriverServerSessionInfo> sessions;
-        CleanupClosePushL( sessions );
-
-        // Get the sessions
-        GetSessionsL( aHelper, sessions );
-
-        // Output an additional line per entry
-        const TInt count = sessions.Count();
-        for( TInt i=0; i<count; i++ )
-            {
-            const TMemSpyDriverServerSessionInfo& session = sessions[ i ];
-            //
-            pColumns.Copy( session.iName );
-            pColumns.Insert( 0, KMemSpyEngineServListOutputComma );
-            pColumns.Insert( 0, KMemSpyEngineServListOutputComma );
-            pColumns.Insert( 0, KMemSpyEngineServListOutputComma );
-            //
-            aHelper.Engine().Sink().OutputLineL( pColumns );
-            }
-        //
-        CleanupStack::PopAndDestroy( &sessions );
-        }
-
-    CleanupStack::PopAndDestroy( columns );
-    }
-
-
-EXPORT_C void CMemSpyEngineServerEntry::GetSessionsL( CMemSpyEngineHelperServer& aHelper, RArray<TMemSpyDriverServerSessionInfo>& aSessions ) const
-    {
-    aHelper.GetServerSessionsL( Handle(), aSessions );
-    }
-
-