memspy/CommandLine/Source/MemSpyCommandLine.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:37:10 +0100
branchRCL_3
changeset 21 52e343bb8f80
parent 20 ca8a1b6995f6
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include "MemSpyCommandLine.h"
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
// System includes
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <bacline.h>
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <bautils.h>
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <memspyengineclientinterface.h>
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <memspy/engine/memspyenginehelpersysmemtrackerconfig.h>
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
// User includes
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "MemSpyCommands.h"
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    30
CMemSpyCommandLine::CMemSpyCommandLine()
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    31
    {
20
ca8a1b6995f6 Revision: 201033
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    32
    }
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    34
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
CMemSpyCommandLine::~CMemSpyCommandLine()
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
    {
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    37
    if ( iMemSpy )
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
        {
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    39
        iMemSpy->Close();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
        }
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    41
    delete iMemSpy;
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
    iFsSession.Close();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
void CMemSpyCommandLine::ConstructL()
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
    {
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    48
    User::LeaveIfError( iFsSession.Connect() );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    49
    iMemSpy = new(ELeave) RMemSpyEngineClientInterface();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    50
    ConnectToMemSpyL();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    53
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    54
CMemSpyCommandLine* CMemSpyCommandLine::NewLC()
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
    {
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    56
    CMemSpyCommandLine* self = new(ELeave) CMemSpyCommandLine();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
    CleanupStack::PushL( self );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
    self->ConstructL();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    return self;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    62
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    63
void CMemSpyCommandLine::PerformBatchL( const TDesC& aFileName )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    64
    {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    65
    TInt err = KErrNone;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    66
    RFile file;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    67
    err = file.Open( iFsSession, aFileName, EFileRead );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    68
    TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformBatchL() - START - this: 0x%08x, openErr: %d, fileName: %S"), this, err, &aFileName ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    69
    User::LeaveIfError( err );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    70
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    71
    CleanupClosePushL( file );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    72
    CDesCArray* lines = ReadLinesL( file );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    73
    CleanupStack::PopAndDestroy( &file );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    74
    CleanupStack::PushL( lines );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    75
    
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    76
    const TInt count = lines->Count();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    77
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - got %d lines", count ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    78
    iIsBatch = ETrue;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    79
    for( TInt i=0; i<count; i++ )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    80
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    81
        const TPtrC pLine( (*lines)[ i ] );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    82
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - processing line[%03d] \"%S\""), i, &pLine ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    83
    
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    84
        // Must be at least 3 chars big, i.e. '[' and <command> and then ']'
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    85
        if  ( pLine.Length() <= 2 || pLine[ 0 ] != '[' )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    86
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    87
            TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - ignoring line: \"%S\""), &pLine ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    88
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    89
        else if  ( pLine[0] == '[' )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    90
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    91
            // Try to find end of command...
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    92
            const TInt posOfClosingArgChar = pLine.Locate( ']' );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    93
            if  ( posOfClosingArgChar >= 2 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    94
                {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    95
                // Get command
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    96
                const TPtrC pCommand( pLine.Mid( 1, posOfClosingArgChar - 1 ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    97
                TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - got command: %S"), &pCommand ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    98
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
    99
                // Next, try to get any args
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   100
                CDesCArrayFlat* args = new(ELeave) CDesCArrayFlat( 2 );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   101
                CleanupStack::PushL( args );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   102
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   103
                // There must be a mandatory space between closing ] and start of args...
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   104
                // E.g.:
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   105
                //
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   106
                //  [CMD] ARG
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   107
                //
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   108
                const TInt remainderLength = pLine.Length() - posOfClosingArgChar;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   109
                if  ( remainderLength > 1 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   110
                    {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   111
                    const TPtrC remainder( pLine.Mid( posOfClosingArgChar + 1 ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   112
                    TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - got remainder: %S"), &pLine ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   113
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   114
                    // Extract arguments separated by tabs or space characters
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   115
                    // and store in arguments array
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   116
                    HBufC* argText = HBufC::NewLC( pLine.Length() + 1 );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   117
                    TPtr pArgText( argText->Des() );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   118
                    for( TInt j=0; j<remainder.Length(); j++ )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   119
                        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   120
                        const TChar c( remainder[ j ] );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   121
                        //
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   122
                        if  ( c == '\t' || c == ' ' )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   123
                            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   124
                            pArgText.Trim();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   125
                            if  ( pArgText.Length() )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   126
                                {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   127
                                TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - arg[%02d] %S"), args->Count(), &pArgText ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   128
                                args->AppendL( pArgText );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   129
                                pArgText.Zero();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   130
                                }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   131
                            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   132
                        else
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   133
                            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   134
                            pArgText.Append( c );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   135
                            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   136
                        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   137
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   138
                    // Save leftovers...
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   139
                    pArgText.Trim();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   140
                    if  ( pArgText.Length() )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   141
                        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   142
                        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - arg[%02d] %S"), args->Count(), &pArgText ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   143
                        args->AppendL( pArgText );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   144
                        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   145
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   146
                    CleanupStack::PopAndDestroy( argText );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   147
                    }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   148
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   149
                // Now we can perform the operation!
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   150
                PerformSingleOpL( pCommand, *args );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   151
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   152
                CleanupStack::PopAndDestroy( args );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   153
                }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   154
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   155
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   156
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - processing line: \"%S\""), &pLine ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   157
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   158
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   159
    iIsBatch = EFalse;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   160
    
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   161
    CleanupStack::PopAndDestroy( lines );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   162
    TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformBatchL() - END - this: 0x%08x, fileName: %S"), this, &aFileName ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   163
    }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   164
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   165
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
void CMemSpyCommandLine::PerformOpL( const CCommandLineArguments& aCommandLine )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    const TInt count = aCommandLine.Count();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformOpL() - START - arg count: %d, this: 0x%08x", count, this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
    if  ( count >= 1 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
        // Get main command
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
        TBuf<KMemSpyCommandLineMaxLength> command;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
        command.Copy( aCommandLine.Arg( 1 ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
        command.UpperCase();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
        // Extract arguments into array
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
        CDesCArrayFlat* args = new(ELeave) CDesCArrayFlat(4);
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
        CleanupStack::PushL( args );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
        for( TInt i=2; i<count; i++ )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
            {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
            args->AppendL( aCommandLine.Arg( i ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
            }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
        // Perform op
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
        PerformSingleOpL( command, *args );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
        // Tidy up
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
        CleanupStack::PopAndDestroy( args );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    else
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
        User::Leave( KErrUnderflow );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
void CMemSpyCommandLine::PerformSingleOpL( const TDesC& aCommand, const CDesCArray& aParameters )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    // Record duration
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    TTime timeStart; 
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
    timeStart.HomeTime();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
    const TInt paramCount = aParameters.Count();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
#ifdef _DEBUG
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - START - command: %S, paramCount: %d, this: 0x%08x"), &aCommand, paramCount, this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    for( TInt i=0; i<paramCount; i++ )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        const TPtrC pParam( aParameters[ i ] );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - param[%02d] = [%S]"), i, &pParam ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
#else
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    RDebug::Print( _L("[MemSpyCmdLine] COMMAND: [%S] {%02d}..."), &aCommand, paramCount );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
#endif
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    TFileName batchFile;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    batchFile.Append( aCommand );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    TInt err = KErrNotSupported;
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   221
    if  ( aCommand.CompareF( KMemSpyCmdSWMTForceUpdate ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   222
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   223
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - SWMT_ForceUpdate", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   224
        if ( paramCount > 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   225
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   226
            TInt categories( 0 );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   227
            TName threadNameFilter;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   228
            TRAP( err, ParseSWMTParametersL( aParameters, categories, threadNameFilter ) );            
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   229
            if ( !err )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   230
                {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   231
                err = iMemSpy->SystemWideMemoryTrackerCategoriesSet( categories );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   232
                if ( !err && threadNameFilter.Length() > 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   233
                    {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   234
                    err = iMemSpy->SystemWideMemoryTrackerThreadFilterSet( threadNameFilter );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   235
                    }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   236
                }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   237
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   238
        if ( !err )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   239
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   240
            err = iMemSpy->PerformOperation( EMemSpyClientServerOpSystemWideMemoryTrackingForceUpdate );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   241
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   242
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   243
    else if ( aCommand.CompareF( KMemSpyCmdSWMTReset ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   244
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   245
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - SWMT_Reset", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   246
        err = iMemSpy->PerformOperation( EMemSpyClientServerOpSystemWideMemoryTrackingReset );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   247
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   248
    else if ( aCommand.CompareF( KMemSpyCmdHeapDumpKernel ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   249
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   250
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Heap_DumpKernel", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   251
        err = iMemSpy->PerformOperation( EMemSpyClientServerOpHeapData, KMemSpyClientServerThreadIdKernel );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   252
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   253
    else if ( aCommand.CompareF( KMemSpyCmdHeapCompact ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   254
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   255
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Heap_Compact", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   256
        err = iMemSpy->PerformOperation( EMemSpyClientServerOpHeapInfoCompact );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   257
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   258
    else if ( aCommand.CompareF( KMemSpyCmdContainer ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   259
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   260
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Container", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   261
        err = iMemSpy->PerformOperation( EMemSpyClientServerOpEnumerateKernelContainerAll );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   262
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   263
    else if ( aCommand.CompareF( KMemSpyCmdBitmapsSave ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   264
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   265
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Bitmaps_Save", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   266
        err = iMemSpy->SaveAllBitmaps();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   267
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   268
    else if ( aCommand.CompareF( KMemSpyCmdRamDisableAknIconCache ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   269
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   270
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Ram_DisableAknIconCache", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   271
        err = iMemSpy->DisableAknIconCache();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   272
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   273
    else if ( aCommand.CompareF( KMemSpyCmdOutputToFile ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   274
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   275
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Output_ToFile", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   276
        err = iMemSpy->SwitchOutputModeFile();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   277
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   278
    else if ( aCommand.CompareF( KMemSpyCmdOutputToTrace ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   279
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   280
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Output_ToTrace", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   281
        err = iMemSpy->SwitchOutputModeTrace();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   282
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   283
    else if ( aCommand.CompareF( KMemSpyCmdUiSendToBackground ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   284
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   285
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - UI_Background", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   286
        err = iMemSpy->SendToBackground();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   287
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   288
    else if ( aCommand.CompareF( KMemSpyCmdUiBringToForeground ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   289
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   290
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - UI_Foreground", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   291
        err = iMemSpy->BringToForeground();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   292
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   293
    else if ( aCommand.CompareF( KMemSpyCmdUiExit ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   294
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   295
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - UI_Exit", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   296
        err = iMemSpy->Exit();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   297
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   298
    else if ( aCommand.CompareF( KMemSpyCmdHeapDump ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   299
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   300
        if  ( paramCount == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   301
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   302
            // Dump heap data for all threads
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   303
            TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Heap_Dump (all threads)", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   304
            err = iMemSpy->PerformOperation( EMemSpyClientServerOpHeapData );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   305
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   306
        else if ( paramCount >= 1 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   307
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   308
            // Dump heap data for named thread
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   309
            const TPtrC pThreadName( aParameters[ 0 ] );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   310
            TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Heap_Dump (%S)"), this, &pThreadName ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   311
            err = iMemSpy->PerformOperation( EMemSpyClientServerOpHeapData, pThreadName );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   312
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   313
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   314
    else if ( aCommand.CompareF( KMemSpyCmdOpenFile ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   315
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   316
        if  ( paramCount == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   317
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   318
            // Dump heap data for all threads
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   319
            TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - OpenFile (all threads)", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   320
            err = iMemSpy->PerformOperation( EMemSpyClientServerOpOpenFiles );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   321
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   322
        else if ( paramCount >= 1 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   323
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   324
            // Dump heap data for named thread
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   325
            const TPtrC pThreadName( aParameters[ 0 ] );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   326
            TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - OpenFile (%S)"), this, &pThreadName ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   327
            err = iMemSpy->PerformOperation( EMemSpyClientServerOpOpenFiles, pThreadName );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   328
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   329
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   330
    else if ( !iIsBatch && FindBatchFile( batchFile ) == KErrNone )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   331
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   332
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Batch file: %S"), this, &batchFile ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   333
        PerformBatchL( batchFile );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   334
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   335
    else
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   336
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   337
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - this: 0x%08x - Unsupported Command: %S"), this, &aCommand ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   338
        }
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
    TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::PerformSingleOpL() - END - err: %d, this: 0x%08x, cmd: %S" ), err, this, &aCommand ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
    // Calculate duration
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
    TTime timeEnd;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
    timeEnd.HomeTime();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
    TTimeIntervalSeconds interval( 0 );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
    timeEnd.SecondsFrom( timeStart, interval );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
    // Print some info
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
    if  ( err != KErrNone )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
        RDebug::Print( _L("[MemSpyCmdLine] COMMAND: [%S] {%02d} {%08d sec} => ERROR: %d"), &aCommand, paramCount, interval.Int(), err );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
    else
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
        RDebug::Print( _L("[MemSpyCmdLine] COMMAND: [%S] {%02d} {%08d sec} => OK"), &aCommand, paramCount, interval.Int() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
    // Spacer
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
    RDebug::Printf( " " );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
void CMemSpyCommandLine::ConnectToMemSpyL()
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - START - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   367
    TInt err = iMemSpy->Connect();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - connect #1 err: %d, this: 0x%08x", err, this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
    if  ( err == KErrNotFound )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - launching MemSpy... - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
        LaunchMemSpyL();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - launched MemSpy - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
        err = iMemSpy->Connect();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - connect #2 err: %d, this: 0x%08x", err, this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
    User::LeaveIfError( err );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ConnectToMemSpyL() - END - ok - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
void CMemSpyCommandLine::LaunchMemSpyL()
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - START - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
    TInt err = KErrGeneral;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
    RProcess proc;
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   393
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   394
    // First try with s60 UI
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   395
    err = proc.Create( KMemSpyProcessName1, KNullDesC );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   396
    if  ( err == KErrNone )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   397
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   398
        TFullName fullName;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   399
        proc.FullName( fullName );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   400
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - Create S60 UI process successfully... - this: 0x%08x, name: %S"), this, &fullName ) );
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   402
        TRequestStatus status;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   403
        proc.Rendezvous( status );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   404
        proc.Resume();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   406
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - MemSpy resumed, waiting for Rendezvous... - this: 0x%08x", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   407
        User::WaitForRequest( status );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   408
        err = status.Int();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   409
        proc.Close();
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   411
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - Rendezvous complete: %d, this: 0x%08x", err, this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   412
        }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   413
    if  ( err != KErrNone )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   414
        {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   415
        // Try console UI
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   416
        err = proc.Create( KMemSpyProcessName2, KNullDesC );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   417
        if  ( err == KErrNone )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   418
            {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   419
            TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - Create Console UI process successfully... - this: 0x%08x", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   420
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   421
            TRequestStatus status;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   422
            proc.Rendezvous( status );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   423
            proc.Resume();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   424
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   425
            TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - MemSpy resumed, waiting for Rendezvous... - this: 0x%08x", this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   426
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   427
            User::WaitForRequest( status );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   428
            err = status.Int();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   429
            proc.Close();
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   430
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   431
            TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - Rendezvous complete: %d, this: 0x%08x", err, this ) );
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   432
            }
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   433
        }
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - final error: %d, this: 0x%08x", err, this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
    User::LeaveIfError( err );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
    User::After( 10 * 1000000 );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::LaunchMemSpyL() - END - ok - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
CDesCArray* CMemSpyCommandLine::ReadLinesL( RFile& aFile )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - START - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
    CDesCArrayFlat* lines = new(ELeave) CDesCArrayFlat( 10 );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
    CleanupStack::PushL( lines );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   448
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   449
    TInt size = 0;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   450
    User::LeaveIfError( aFile.Size( size ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x, file size: %d", this, size ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   453
    // Read file
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
    HBufC8* narrowBuf = HBufC8::NewLC( size );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   455
    TPtr8 pBufNarrow( narrowBuf->Des() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   456
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x, reading file..." ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
    User::LeaveIfError( aFile.Read( pBufNarrow ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
    if  ( pBufNarrow.Length() <= 2 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x - BAD FILE LENGTH", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
        User::Leave( KErrCorrupt );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
    // Look for BOM and convert to unicode
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
    HBufC* unicodeText = HBufC::NewL( size );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
    TPtr pUnicodeText( unicodeText->Des() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
    if  ( pBufNarrow[0] == 0xFF && pBufNarrow[1] == 0xFE )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
        // It's unicode... and we don't want the BOM, hence -2
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
        const TInt textLength = size - 2;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x - UNICODE TEXT - textLength: %d", this, textLength / 2 ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
        Mem::Copy( (TUint8 *)pUnicodeText.Ptr(), pBufNarrow.Ptr() + 2, textLength );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
        pUnicodeText.SetLength( textLength / 2 );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
    else
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
        // It's ASCII, convert it to unicode...
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
        TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x - ASCII TEXT - textLength: %d", this, size ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
        for (TInt i = 0; i<size; i++ )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
            {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
            pUnicodeText.Append( pBufNarrow[ i ] );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
            }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
    // Discard old narrow text
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
    CleanupStack::PopAndDestroy( narrowBuf );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
    CleanupStack::PushL( unicodeText );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
    // Try to extract lines of text...
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
    HBufC* line = HBufC::NewLC( 1024 );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
    TPtr pLine( line->Des() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
    const TInt length = unicodeText->Length();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
    for( TInt i=0; i<length; i++ )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
        const TChar c( pUnicodeText[ i ] );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
        //
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
        if  ( c == '\r' || c == '\n' )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
            {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
            pLine.Trim();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
            if  ( pLine.Length() )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
                {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
                TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x - LINE[%03d] %S"), this, lines->Count(), line ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
                lines->AppendL( pLine );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
                }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
            pLine.Zero();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
            }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
        else
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
            {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
            pLine.Append( c );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
            }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
    // Save last line, just in cae it didn't end with a CR/LF
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
    pLine.Trim();
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
    if ( pLine.Length() )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
        TRACE( RDebug::Print( _L("[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - this: 0x%08x - LINE[%03d] %S"), this, lines->Count(), line ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
        lines->AppendL( pLine );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
    CleanupStack::PopAndDestroy( 2, unicodeText ); // line & unicodeText
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
    CleanupStack::Pop( lines );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
    TRACE( RDebug::Printf( "[MemSpyCmdLine] CMemSpyCommandLine::ReadLinesL() - END - this: 0x%08x", this ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
    return lines;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
void CMemSpyCommandLine::ParseSWMTParametersL( const CDesCArray& aParameters, TInt& aCategories, TDes& aFilter )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
    TInt result(0);
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
    // Check if the first parameter is a number.
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
    // In that case other parameters are ignored.
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
    TLex lex( aParameters[ 0 ] );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
    if ( lex.Val( result ) != KErrNone )
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   537
        {
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
        // Parameters were given in text form:
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
        const TInt count( aParameters.Count() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
        for ( TInt i = 0; i < count ; i++ )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
            {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
            if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeHeap ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserHeap |
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
                          TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHeap;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeChunk ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryLocalChunks |
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
                          TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalChunks;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeCode ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMLoadedCode;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeStack ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryUserStacks;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeGlobalData ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryGlobalData;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeRamDrive ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryRAMDrive;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeOpenFile ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryOpenFiles;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeDiskSpace ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryDiskusage;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeFbserv ) == 0 ) // enables both FABS and BITM 
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryBitmapHandles;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeHandleGeneric ) == 0 ) // enables both HGEN and HPAS
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryKernelHandles;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeFileServerCache ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryFileServerCache;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeSystemMemory ) == 0 )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategorySystemMemory;
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   568
            else if ( aParameters[i].CompareF( KMemSpyCmdSWMTTypeWindowGroup ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   569
                result |= TMemSpyEngineHelperSysMemTrackerConfig::EMemSpyEngineSysMemTrackerCategoryWindowGroups;
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   570
            else if ( aParameters[i].Find( KMemSpyCmdSWMTTypeHeapFilter ) == 0 )
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   571
                {
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   572
                aFilter.Copy( aParameters[i].Right( aParameters[i].Length() -11 ) );
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
                }
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   574
            else
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   575
                User::Leave( KErrNotSupported );
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
            }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
        }
21
52e343bb8f80 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 20
diff changeset
   578
    else if ( aParameters.Count() > 1 && aParameters[1].Find( KMemSpyCmdSWMTTypeHeapFilter ) == 0 )
0
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
        aFilter.Copy( aParameters[1].Right( aParameters[1].Length() -11 ) );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
    aCategories = result;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   583
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   585
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   586
TInt CMemSpyCommandLine::FindBatchFile( TDes &aFileName )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   587
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   588
    if ( BaflUtils::FileExists( iFsSession, aFileName )) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   589
    if ( !FindFile( aFileName, _L("\\") ) ) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   590
    if ( !FindFile( aFileName, _L("\\data\\") ) ) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   591
    if ( !FindFile( aFileName, _L("\\documents\\") ) ) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   592
    if ( !FindFile( aFileName, _L("\\temp\\") ) ) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
    if ( !FindFile( aFileName, _L("\\system\\temp\\") ) ) return KErrNone;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
    // if ( !FindFile( aFileName, _L("\\private\\1000484b\\") ) ) return KErrNone; // Mail folder KErrPermissionDenied  
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
    return KErrNotFound;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
TInt CMemSpyCommandLine::FindFile( TDes &aFileName, const TDesC &aDirPath )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
    {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
    TFindFile fileFinder( iFsSession );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
    TInt err = fileFinder.FindByDir( aFileName, aDirPath );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
    if ( !err )
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
        {
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
        aFileName.Copy( fileFinder.File() );
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
        }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
    return err;
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
    }
a03f92240627 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   609