sysperfana/memspyext/com.nokia.s60tools.memspy/src/com/nokia/s60tools/memspy/model/TraceCoreDataHandler.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Tue, 24 Aug 2010 12:10:03 +0300
changeset 14 bb339882c6e9
parent 7 8e12a575a9b5
permissions -rw-r--r--
MemSpy Carbide Extension 1.7.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     3
 * All rights reserved.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     4
 * This component and the accompanying materials are made available
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     6
 * which accompanies this distribution, and is available
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     8
 *
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
     9
 * Initial Contributors:
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    10
 * Nokia Corporation - initial contribution.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    11
 *
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    12
 * Contributors:
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    13
 *
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    14
 * Description: 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    15
 *
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    16
 */
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
package com.nokia.s60tools.memspy.model;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
import java.io.File;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.io.FileWriter;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.io.IOException;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import java.io.PrintWriter;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import java.util.ArrayList;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import java.util.regex.Pattern;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import com.nokia.s60tools.memspy.containers.ThreadInfo;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import com.nokia.s60tools.memspy.export.ITraceDataProcessor;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import com.nokia.s60tools.memspy.interfaces.IMemSpyTraceListener.LauncherErrorType;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import com.nokia.s60tools.memspy.util.MemSpyConsole;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import com.nokia.s60tools.util.debug.DbgUtility;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
 * Monitors data received from TraceCore and acts based on it.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
public final class TraceCoreDataHandler implements ITraceDataProcessor {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
	// Count of lines
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
	private int lineCount;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    40
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
	// boolean value that is used when parsing thread list
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
	private boolean lastWasName;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    43
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
	// Array, where found thread names and id's are written
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
	private ArrayList<ThreadInfo> threadArray = null;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    46
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
	// ThreadInfo-object where info is collected
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
	private ThreadInfo threadInfo;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    49
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
	// boolean value that is set to true, when trace-lines are lost
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	private boolean dumpedTraces;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    52
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    53
	// boolean value that is set to false, when heap type is not symbian OS
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    54
	// Rheap
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
	private boolean heapTypeCorrect;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    56
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
	// boolean value that is true when some information is written to file
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
	private boolean writeFile;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    59
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
	// boolean value that true when file is open
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	private boolean fileOpen;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
	// Writer that writes to file
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	private PrintWriter plainOutput;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	// Writer that writes to file
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	private PrintWriter swmtHeadDumpOutput = null;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	// boolean value that is true when some memspy operations are on-going.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	private boolean logging;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	// Trace engine.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
	private TraceCoreEngine engine;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    74
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    75
	// Strings
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    76
	private final static String LAUNCHER_READY = "<MEMSPY_LAUNCHER_READY>";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    77
	private final static String MEMSPY_LAUNCHER_VERSION_PREFIX = "<MEMSPY_LAUNCHER_DATAVERSION=";// e.g.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    78
	// <MEMSPY_LAUNCHER_VERSION=1>
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    79
	private final static String END_TAG = ">";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    80
	private final static String LAUNCHER_COLON = "::";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    81
	private final static String LAUNCHER_THREAD_ID = "Thread Id";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    82
	private final static String LAUNCHER_TYPE = "Type:";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    83
	private final static String LAUNCHER_SYMBIAN_OS_RHEAP = "Symbian OS RHeap";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    84
	private final static String LAUNCHER_SYMBIAN_OS_RHYBRIDHEAP = "Symbian OS RHybridHeap";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    85
	private final static String LAUNCHER_HEAP_DUMP_START = "<MEMSPY_HEAP_DATA";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    86
	private final static String LAUNCHER_HEAP_DUMP_END = "</MEMSPY_HEAP_DATA";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    87
	// Heap info's will act as start point for new Head dump, when Head Dumps
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    88
	// are received during SWMT logging
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    89
	// E.g. following Heap info is received:
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    90
	// HeapData - mc_isiserver::Main - HEAP INFO FOR THREAD 'mc_isiserver::Main'
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    91
	private final static String LAUNCHER_HEAP_INFO_FOR_THREAD = "HEAP INFO FOR THREAD";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    92
	private final static String LAUNCHER_HEAPDATA = "HeapData -";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    93
	private final static String LAUNCHER_ERROR = "<MEMSPY_LAUNCHER_ERROR>";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    94
	private final static String DUMPED_TC_TRACES = "* Dumped Traces";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    95
	private final static String MEMSPY_PROGRESS = "<MEMSPY_PROGRESS>";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    96
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
	/**
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
    98
	 * <code>SYSTEM WIDE MEMORY TRACKER<code> tag
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   100
	public final static String LAUNCHER_SWMT_LOG_START = "<SYSTEM WIDE MEMORY TRACKER>";
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   102
	private final static String LAUNCHER_SWMT_LOG_END = "</SYSTEM WIDE MEMORY TRACKER>";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   103
	private final static String LAUNCHER_SWMTDATA = "[SMT ";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   104
	private final static String LAUNCHER_CATEGORY_NOT_SUPPORTED = "<MEMSPY_LAUNCHER_CATEGORY_NOT_SUPPORTED>";
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   105
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   106
	private ThreadInfo swmtHeadDumpThreadInfo;
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
	 * Constructor.
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   110
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   111
	 * @param engine
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   112
	 *            engine that uses handler
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   114
	public TraceCoreDataHandler(TraceCoreEngine engine) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
		this.engine = engine;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
		lastWasName = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
		heapTypeCorrect = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
		writeFile = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
		lineCount = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
	/**
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   123
	 * Method that is called when trace logging is started.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   124
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   125
	 * @param fName
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   126
	 *            Name of the file, where needed information is printed.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   127
	 * @param fileOpen
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   128
	 *            boolean value that is true when file needs to be opened.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
	public boolean startLogging(String fName, boolean fileOpen) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
		logging = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
		lineCount = 0;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   133
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   134
		DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   135
				.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   136
						DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   137
						"TraceCoreDataHandler.startLogging/fName=" + fName + ", fileOpen=" + fileOpen); //$NON-NLS-1$ //$NON-NLS-2$
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   138
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
		// If file needs to be opened, open it.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
		this.fileOpen = fileOpen;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   141
		if (fileOpen) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
			try {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   143
				plainOutput = new PrintWriter(new FileWriter(fName));
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   144
			} catch (IOException e) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   145
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
				engine.launcherError(LauncherErrorType.FILE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
				return false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
			}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   149
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
		return true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   153
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	 * Stops logging and closes file if needed.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	public void stopLogging() {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   158
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   159
				"TraceCoreDataHandler.stopLogging"); //$NON-NLS-1$				
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
		this.logging = false;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   161
		if (this.fileOpen) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
			plainOutput.flush();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
			plainOutput.close();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
		stopSWMTHeadDumpLogging();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
	 * Flush and Close swmtHeadDumpOutput
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
	private void stopSWMTHeadDumpLogging() {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   172
		if (swmtHeadDumpOutput != null) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
			swmtHeadDumpOutput.flush();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
			swmtHeadDumpOutput.close();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   177
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
	 * Open FileWriter for swmtHeadDumpOutput
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   181
	private void startSWMTHeadDumpLogging() {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
		try {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
			File file = new File(swmtHeadDumpThreadInfo.getThreadFilePath());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
			File path = file.getParentFile();
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   185
			if (!path.exists()) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
				path.mkdirs();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
			file.createNewFile();
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   189
			if (swmtHeadDumpThreadInfo != null) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   190
				swmtHeadDumpOutput = new PrintWriter(new FileWriter(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   191
						swmtHeadDumpThreadInfo.getThreadFilePath()));
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
			}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   193
		} catch (IOException e) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
			engine.launcherError(LauncherErrorType.FILE);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   195
		}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   197
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
	/**
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   199
	 * Processes trace data that is received. This method is called every time
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   200
	 * trace data is received when logging is on.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   201
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   202
	 * @param traceLineStr
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   203
	 *            trace data line
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
	public void processDataLine(String traceLineStr) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
		if (logging) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   208
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
			if (traceLineStr != null) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   210
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   211
				if (isMemSpyRelatedLine(traceLineStr)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   212
					lineCount++;
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
				// Reset timer every 10 MemSpy related lines.
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   215
				if (lineCount > 10) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
					engine.restartErrorTimer();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
					lineCount = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   219
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
				// If Line contains launcher error message
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   221
				if (traceLineStr.contains(LAUNCHER_ERROR)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   222
					handleLauncherErrorLine(traceLineStr);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   224
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
				// If line contains message of dumped traces
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   226
				else if (traceLineStr.contains(DUMPED_TC_TRACES)) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
					handleDumpTCTracesLine();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   229
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   230
				// If line contains confirmation that Launcher is ready to
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   231
				// receive new command
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   232
				else if (traceLineStr.contains(LAUNCHER_READY)) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
					handleLauncherReadyLine();
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   234
				} else if (traceLineStr
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   235
						.contains(MEMSPY_LAUNCHER_VERSION_PREFIX)) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
					handleLauncherVersionLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   238
				// If launcher sends an progress message, restarting error timer
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   239
				// so the timer wont reset progress
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   240
				// this is done because of long taking progress was causing time
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   241
				// outs.
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   242
				else if (traceLineStr.contains(MEMSPY_PROGRESS)) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
					engine.restartErrorTimer();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   245
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
				// If receiving heap dump
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   247
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_GET_HEAP_DUMP) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
					handleHeadDumpLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   250
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
				// If receiving SWMT log
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   252
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SWMT_UPDATE
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   253
						|| engine.getFirstTask() == TraceCoreEngine.MEMSPY_SWMT_RESET) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   254
					handleSWMTLine(traceLineStr);
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   255
				}
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   256
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
				// If receiving thread info
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   258
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_THREAD_INFO) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
					handleThreadInfoLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   261
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
				// Setting SWMT category low bits
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   263
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SET_CATEGORIES_LOW) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
					handleCategoriesLowLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
				// Setting SWMT category high bits
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   268
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_SET_CATEGORIES_HIGH) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
					handleCategoriesHighLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   271
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
				// If Receiving thread list
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   273
				else if (engine.getFirstTask() == TraceCoreEngine.MEMSPY_THREAD_LIST) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
					handleThreadListLine(traceLineStr);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   279
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
	 * Checks that line has something to do with MemSpy related data.
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   284
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   285
	 * @param str
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   286
	 *            line sting
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   287
	 * @return <code>true</code> if MemSpy related data, otherwise
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   288
	 *         <code>false</code>.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
	private boolean isMemSpyRelatedLine(String str) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
		return str.contains("HeapData") || str.contains("MemSpy");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
	private void handleLauncherVersionLine(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   295
		DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   296
				.println(DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   297
						"TraceCoreDataHandler.processData/MEMSPY_LAUNCHER_VERSION_PREFIX"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
		String version = cutString(MEMSPY_LAUNCHER_VERSION_PREFIX, END_TAG, str);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
		engine.setMemSpyLauncherVersion(version);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
	private void handleLauncherReadyLine() {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   303
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   304
				"TraceCoreDataHandler.processData/LAUNCHER_READY"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
		engine.memSpyReady();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
	private void handleDumpTCTracesLine() {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   309
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   310
				"TraceCoreDataHandler.processData/DUMPED_TC_TRACES"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
		this.dumpedTraces = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
	private void handleLauncherErrorLine(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   315
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   316
				"TraceCoreDataHandler.processData/LAUNCHER_ERROR"); //$NON-NLS-1$
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   317
		if (str.contains("'")) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   318
			str = str.substring(str.indexOf("'") + 1);
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   319
			if (str.contains("'")) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   320
				String error = str.substring(0, str.indexOf("'"));
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
				LauncherErrorType type = getErrorById(error);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
				engine.launcherError(type);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
			}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   324
		} else {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   325
			// If no error code present, then parsing custom error message and
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   326
			// sending information to console
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
			String additionalErrorInfo = "";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   328
			// Getting error message string portion
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   329
			String[] splitArr = str.split(Pattern.quote(":"));
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   330
			if (splitArr.length == 2) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
				additionalErrorInfo = additionalErrorInfo + splitArr[1].trim();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
			// Passing launcher error forwards generic launcher error
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   334
			engine.launcherError(LauncherErrorType.GENERAL_LAUNCHER_ERROR,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   335
					additionalErrorInfo);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   337
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   338
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
	private void handleThreadListLine(String str) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
		// If line contains "::" create new ThreadInfo-object
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   341
		if (str.contains(LAUNCHER_COLON)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   342
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
			threadInfo = new ThreadInfo();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
			threadInfo.setThreadName(str);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
			lastWasName = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   349
		// Save threadID into latest ThreadInfo-object and add info into thread
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   350
		// list
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   351
		if (str.contains(LAUNCHER_THREAD_ID)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   352
			if (lastWasName) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   353
				String threadID = str.substring(str.indexOf(LAUNCHER_THREAD_ID)
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   354
						+ LAUNCHER_THREAD_ID.length());
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
				threadID = threadID.trim();
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   356
				threadInfo.setThreadID(threadID);
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   357
				threadArray.add(threadInfo);
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   358
				DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   359
						.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   360
								DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   361
								"TraceCoreDataHandler.processData/LAUNCHER_THREAD_ID/id=" + threadInfo.getThreadID() + ", name=" + threadInfo.getThreadName()); //$NON-NLS-1$ //$NON-NLS-2$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
				lastWasName = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
	private void handleCategoriesHighLine(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   368
		DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   369
				.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   370
						DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   371
						"TraceCoreDataHandler.processData/MEMSPY_SET_CATEGORIES_HIGH:  " + str); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   372
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   373
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   374
	private void handleCategoriesLowLine(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   375
		DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   376
				.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   377
						DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   378
						"TraceCoreDataHandler.processData/MEMSPY_SET_CATEGORIES_LOW:  " + str); //$NON-NLS-1$
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   379
		if (str.contains(LAUNCHER_CATEGORY_NOT_SUPPORTED)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   380
			// LAUNCHER_CATEGORY_NOT_SUPPORTED error
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   381
			engine.launcherError(LauncherErrorType.CATEGORIES_NOT_SUPPORTED);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   382
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   383
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   384
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   385
	private void handleThreadInfoLine(String str) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   386
		// Check for threads heap type
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   387
		if (str.contains(LAUNCHER_TYPE)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   388
			if (str.contains(LAUNCHER_SYMBIAN_OS_RHEAP)
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   389
					|| str.contains(LAUNCHER_SYMBIAN_OS_RHYBRIDHEAP)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   390
				DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   391
						"TraceCoreDataHandler.processData/MEMSPY_THREAD_INFO"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   392
				heapTypeCorrect = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   393
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   394
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   395
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   396
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   397
	private void handleSWMTLine(String str) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   398
		// Check for start tag
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   399
		if (str.contains(LAUNCHER_SWMT_LOG_START)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   400
			DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   401
					"TraceCoreDataHandler.processData/LAUNCHER_SWMT_LOG_START"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   402
			this.writeFile = true;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   403
			engine.restartErrorTimer(); // Resetting error time instantly when
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   404
			// getting start event of the logging
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   405
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   406
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   407
		// If writing to file
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   408
		if (this.writeFile && str.contains(LAUNCHER_SWMTDATA)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   409
			this.writeLine(str);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   410
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   411
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   412
		// If we receive a Heap Dump line during SWMT logging
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   413
		if (this.writeFile
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   414
				&& (str.contains(LAUNCHER_HEAPDATA)
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   415
						|| str.contains(LAUNCHER_HEAP_DUMP_START) || str
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   416
						.contains(LAUNCHER_HEAP_DUMP_END))) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   417
			handleHeapDumpDuringSWMTLogging(str);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   418
		}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   419
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   420
		// Check for end tag
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   421
		if (str.contains(LAUNCHER_SWMT_LOG_END)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   422
			DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   423
					"TraceCoreDataHandler.processData/LAUNCHER_SWMT_LOG_END"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   424
			this.writeFile = false;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   425
			engine.restartErrorTimer(); // Resetting error time instantly when
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   426
			// getting end event of the logging
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   427
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   428
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   429
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   430
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   431
	 * Handling a Heap Dump line during SWMT logging
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   432
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   433
	 * @param str
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   434
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   435
	private void handleHeapDumpDuringSWMTLogging(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   436
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   437
		// If we receiving a start point of Dump..
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   438
		if (str.contains(LAUNCHER_HEAP_DUMP_START)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   439
			DbgUtility.println(DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   440
					"TraceCoreDataHandler.processData/Start SWMT Head Dump"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   441
			swmtHeadDumpThreadInfo = new ThreadInfo();
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   442
			if (threadArray == null) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   443
				setThreadArray(new ArrayList<ThreadInfo>());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   444
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   445
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   446
		// If we receiving a Thread name of Dump, we create a new file for dump,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   447
		// and start dumping it
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   448
		else if (str.contains(LAUNCHER_HEAP_INFO_FOR_THREAD)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   449
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   450
			String threadName = getThreadNameFromInfo(str);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   451
			swmtHeadDumpThreadInfo.setThreadName(threadName);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   452
			DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   453
					.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   454
							DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   455
							"TraceCoreDataHandler.processData/SWMT Head Dump Thread name received: " + threadName); //$NON-NLS-1$
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   456
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   457
			// String threadName, String threadID, String threadFilePath, Date
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   458
			// date, HeapDumpType type
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   459
			// Get file name for heap dump from engine
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   460
			String filePath = MemSpyFileOperations.getFileNameForTempHeapDump(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   461
					swmtHeadDumpThreadInfo.getThreadName(),
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   462
					swmtHeadDumpThreadInfo.getDate());
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   463
			swmtHeadDumpThreadInfo.setThreadFilePath(filePath);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   464
			startSWMTHeadDumpLogging();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   465
			writeSWMTHeadDumpLine(str);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   466
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   467
			DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   468
					.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   469
							DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   470
							"TraceCoreDataHandler.processData/SWMT Head Dump Thread file created: " + filePath); //$NON-NLS-1$			
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   471
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   472
			// Heap info's will act as start point for new Head dump, when Head
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   473
			// Dumps are received during SWMT logging
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   474
			// E.g. following Heap info is received:
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   475
			// HeapData - mc_isiserver::Main - HEAP INFO FOR THREAD
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   476
			// 'mc_isiserver::Main'
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   477
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   478
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   479
		// If we receiving a end point of Dump...
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   480
		else if (str.contains(LAUNCHER_HEAP_DUMP_END)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   481
			DbgUtility.println(DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   482
					"TraceCoreDataHandler.processData/End SWMT Head Dump"); //$NON-NLS-1$
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   483
			threadArray.add(swmtHeadDumpThreadInfo);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   484
			stopSWMTHeadDumpLogging();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   485
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   486
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   487
		// Else we receiving a dump line, and writing it to the Dump file, not
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   488
		// to SWMT file
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   489
		else if (swmtHeadDumpThreadInfo != null && swmtHeadDumpOutput != null) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   490
			writeSWMTHeadDumpLine(str);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   491
		} else {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   492
			DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   493
					.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   494
							DbgUtility.PRIORITY_LOOP,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   495
							"TraceCoreDataHandler.processData/LAUNCHER_HEAPDATA & MEMSPY_SWMT_UPDATE unknown line occured: "
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   496
									+ str);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   497
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   498
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   499
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   500
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   501
	 * Get Thread name from Heap Info line
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   502
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   503
	 * @param str
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   504
	 * @return Thread name
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   505
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   506
	private String getThreadNameFromInfo(String str) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   507
		String name = str
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   508
				.substring((str.indexOf(LAUNCHER_HEAP_INFO_FOR_THREAD) + LAUNCHER_HEAP_INFO_FOR_THREAD
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   509
						.length()));
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   510
		String separator = "'";
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   511
		name = name.substring((name.indexOf(separator) + separator.length()),
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   512
				name.lastIndexOf(separator)).trim();
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   513
		return name;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   514
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   515
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   516
	private void handleHeadDumpLine(String str) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   517
		// Check for heap end tag
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   518
		if (str.contains(LAUNCHER_HEAP_DUMP_END)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   519
			DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   520
					.println(DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   521
							"TraceCoreDataHandler.processData/MEMSPY_GET_HEAP_DUMP/LAUNCHER_HEAP_DUMP_END"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   522
			this.writeFile = false;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   523
		}
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   524
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   525
		// If writing to file
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   526
		if (this.writeFile && str.contains(LAUNCHER_HEAPDATA)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   527
			this.writeLine(str);
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   528
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   529
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   530
		// Check for heap start tag
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   531
		if (str.contains(LAUNCHER_HEAP_DUMP_START)) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   532
			DbgUtility
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   533
					.println(
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   534
							DbgUtility.PRIORITY_OPERATION,
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   535
							"TraceCoreDataHandler.processData/MEMSPY_GET_HEAP_DUMP/LAUNCHER_HEAP_DUMP_START"); //$NON-NLS-1$
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   536
			this.writeFile = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   537
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   538
	}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   539
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   540
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   541
	 * Cut string from startTag to endTag
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   542
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   543
	 * @param startTag
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   544
	 * @param endTag
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   545
	 * @param str
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   546
	 * @return cutted string or str given if start and end tags does not found
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   547
	 *         from given str
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   548
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   549
	private static String cutString(String startTag, String endTag, String str) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   550
		if (!str.contains(startTag) && !str.contains(endTag)) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   551
			return str;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   552
		}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   553
		String ret = str.substring(str.indexOf(startTag) + startTag.length());
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   554
		ret = ret.substring(0, ret.indexOf(endTag));
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   555
		return ret;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   556
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   557
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   558
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   559
	 * Writes one line into opened file.
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   560
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   561
	 * @param line
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   562
	 *            , Line that is written to file
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   563
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   564
	private void writeLine(String line) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   565
		plainOutput.write(line + "\n");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   566
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   567
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   568
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   569
	 * Writes one line into opened file.
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   570
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   571
	 * @param line
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   572
	 *            , Line that is written to file
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   573
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   574
	private void writeSWMTHeadDumpLine(String line) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   575
		swmtHeadDumpOutput.write(line + "\n");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   576
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   577
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   578
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   579
	// Getters and setters for member variables
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   580
	//
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   581
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   582
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   583
	 * Set thread array
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   584
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   585
	 * @param threadArray
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   586
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   587
	public void setThreadArray(ArrayList<ThreadInfo> threadArray) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   588
		this.threadArray = threadArray;
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   589
	}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   590
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   591
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   592
	 * Check if {@link TraceCoreDataHandler#LAUNCHER_COLON} was found in line
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   593
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   594
	 * @param lastWasName
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   595
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   596
	public void setLastWasName(boolean lastWasName) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   597
		this.lastWasName = lastWasName;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   598
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   599
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   600
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   601
	 * Check if heap type was correct
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   602
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   603
	 * @return <code>true</code> if heap type was correct, <code>false</code>
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   604
	 *         otherwise.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   605
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   606
	public boolean isHeapTypeCorrect() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   607
		return heapTypeCorrect;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   608
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   609
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   610
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   611
	 * Set heap type as correct
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   612
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   613
	 * @param heapTypeCorrect
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   614
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   615
	public void setHeapTypeCorrect(boolean heapTypeCorrect) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   616
		this.heapTypeCorrect = heapTypeCorrect;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   617
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   618
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   619
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   620
	 * Set dump traces
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   621
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   622
	 * @param dumpedTraces
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   623
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   624
	public void setDumpedTraces(boolean dumpedTraces) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   625
		this.dumpedTraces = dumpedTraces;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   626
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   627
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   628
	/**
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   629
	 * Check if trace was containing
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   630
	 * {@link TraceCoreDataHandler#DUMPED_TC_TRACES} lines
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   631
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   632
	 * @return <code>true</code> if dumped lines was found, <code>false</code>
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   633
	 *         otherwise.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   634
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   635
	public boolean isDumpedTraces() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   636
		return dumpedTraces;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   637
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   638
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   639
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   640
	 * Returns {@link LauncherErrorType} by its ordinal
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   641
	 * 
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   642
	 * @param errorCodeAsString
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   643
	 *            Error number as string
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   644
	 * @return {@link LauncherErrorType} or {@link LauncherErrorType#ACTIVATION}
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   645
	 *         if no matching item found.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   646
	 */
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   647
	private LauncherErrorType getErrorById(String errorCodeAsString) {
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   648
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   649
		try {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   650
			int errorCode = Integer.parseInt(errorCodeAsString);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   651
			LauncherErrorType[] values = LauncherErrorType.values();
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   652
			for (int i = 0; i < values.length; i++) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   653
				if (errorCode == values[i].ordinal()) {
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   654
					return values[i];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   655
				}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   656
			}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   657
		} catch (NumberFormatException e) {
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   658
			// If occurs, it's an internal error, MemSpy S60 side is giving id
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   659
			// in wrong format.
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   660
			e.printStackTrace();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   661
			MemSpyConsole.getInstance().printStackTrace(e);
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   662
		}
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   663
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   664
		return LauncherErrorType.ACTIVATION;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   665
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   666
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   667
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   668
	 * Get imported SWMT Heap Dumps
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   669
	 * 
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   670
	 * @return imported SWMT Heap Dumps
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   671
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   672
	public ArrayList<ThreadInfo> getImportedSWMTHeaps() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   673
		return threadArray;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   674
	}
14
bb339882c6e9 MemSpy Carbide Extension 1.7.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents: 7
diff changeset
   675
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   676
}