trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/engine/TraceViewerGlobals.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 23 Jun 2010 14:49:59 +0300
changeset 11 5b9d4d8641ce
permissions -rw-r--r--
TraceViewer 2.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
 * Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
 * Description:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
 * Access point to the exported interfaces of Trace Viewer engine
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
package com.nokia.traceviewer.engine;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.ArrayList;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.util.List;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import org.eclipse.ui.console.ConsolePlugin;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import org.eclipse.ui.console.IConsole;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.ui.console.IConsoleManager;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.ui.console.MessageConsole;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.ui.console.MessageConsoleStream;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import com.nokia.trace.eventrouter.PropertySource;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import com.nokia.trace.eventrouter.TraceEvent;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import com.nokia.trace.eventrouter.TraceEventRouter;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import com.nokia.traceviewer.TraceViewerPlugin;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
 * Access point to the exported interfaces of Trace Viewer engine
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
public final class TraceViewerGlobals {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
	 * Action name for UI Event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
	private static final String UI_EVENT_ACTION_NAME = "uievent"; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
	 * ID for statisticslogger plugin
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
	private static final String STATISTICSLOGGER_ID = "com.nokia.trace.statisticslogger"; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
	 * Number of lines in one block.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
	public static final int blockSize = 200;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
	 * If this value is true, debug prints are printed to console
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
	private static final boolean debugPrintsEnabled = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
	 * Debug print level. None to get nothing
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	private static final DebugLevel debugPrintLevel = DebugLevel.NONE;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	 * Trace viewer instance
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	private static TraceViewer instance;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	 * TrimProvider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
	private static TrimProvider trimProvider = new DummyTrim();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	 * List of TraceProviders
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	private static List<TraceProvider> traceProviders = new ArrayList<TraceProvider>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	 * Debug levels
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	public enum DebugLevel {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
		/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
		 * No prints
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
		 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
		NONE,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
		/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
		 * Simple prints
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
		 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
		SIMPLE,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
		/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
		 * Flow traces
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
		 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
		FLOW,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
		/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
		 * Test traces
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
		 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
		TEST,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
		/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
		 * All traces
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
		 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
		ALL
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
	 * Constructor is hidden
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
	private TraceViewerGlobals() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
	 * Starts Trace Viewer engine.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
	public static void start() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
		if (instance == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
			instance = new TraceViewer();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
			instance.start();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
	 * Gets the trace viewer interface
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
	 * @return trace viewer
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
	public static TraceViewerInterface getTraceViewer() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
		return instance.getTraceViewer();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
	 * Called by the provider plug-in to set the provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
	 * @param provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
	 *            the trace provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
	 * @param clearDataBefore
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
	 *            if true, clear data file before changing the new provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
	public static void setTraceProvider(TraceProvider provider,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
			boolean clearDataBefore) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
		// Add to list if doesn't exist yet
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
		if (!traceProviders.contains(provider)) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
			// Sort providers to alphabetic order. This is assuming there are
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
			// only two providers.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
			if (!traceProviders.isEmpty()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
				TraceProvider prevProvider = traceProviders.get(0);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
				if (prevProvider.getName().compareTo(provider.getName()) < 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
					traceProviders.add(provider);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
				} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
					traceProviders.add(0, provider);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
			} else {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
				traceProviders.add(provider);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
		// Tell the TraceViewer to set TraceProvider into use
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
		instance.setTraceProvider(provider, clearDataBefore);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
	 * Gets the trace provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
	 * @return the trace provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
	public static TraceProvider getTraceProvider() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
		return instance.getTraceProvider();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
	 * Sets Trim provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
	 * @param provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
	 *            new trim provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
	public static void setTrimProvider(TrimProvider provider) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
		trimProvider = provider;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
	 * Gets the trim provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
	 * @return the trimprovider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
	public static TrimProvider getTrimProvider() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
		return trimProvider;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
	 * Gets list of available TraceProviders
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
	 * @return the list of available TraceProviders
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
	public static List<TraceProvider> getListOfTraceProviders() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
		return traceProviders;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
	 * Called by the decoder plug-in to set the decoder
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
	 * @param decoder
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
	 *            the trace decoder
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
	public static void setDecodeProvider(DecodeProvider decoder) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
		instance.setDecodeProvider(decoder);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
	 * Gets the decode provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
	 * @return the decode provider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
	public static DecodeProvider getDecodeProvider() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
		return instance.getDecodeProvider();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
	 * Posts Error Event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
	 * @param description
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
	 *            description of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
	 * @param category
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
	 *            category of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   232
	 * @param source
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
	 *            source of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
	public static void postErrorEvent(String description, String category,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
			Object source) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
		TraceEvent event = new TraceEvent(TraceEvent.ERROR, description);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
		event.setCategory(category);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
		// If source doesn't exist, insert current time
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
		if (source == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
			source = TraceViewerUtils.constructTimeString();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
		event.setSource(source);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
		TraceEventRouter.getInstance().postEvent(event);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   247
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
	 * Posts Info Event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
	 * @param description
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   252
	 *            description of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   253
	 * @param category
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
	 *            category of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
	 * @param source
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   256
	 *            source of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
	public static void postInfoEvent(String description, String category,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
			Object source) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
		TraceEvent event = new TraceEvent(TraceEvent.INFO, description);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
		event.setCategory(category);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
		// If source doesn't exist, insert current time
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
		if (source == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
			source = TraceViewerUtils.constructTimeString();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
		event.setSource(source);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
		TraceEventRouter.getInstance().postEvent(event);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
	 * Posts UI Event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
	 * @param name
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
	 *            name of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
	 * @param value
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
	 *            value of the event
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
	public static void postUiEvent(String name, String value) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
		TraceEvent event = new TraceEvent(TraceEvent.INFO, "UI Event"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
		PropertySource source = new PropertySource(UI_EVENT_ACTION_NAME,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
				STATISTICSLOGGER_ID, TraceViewerPlugin.PLUGIN_ID);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
		source.getProperties().put(name, value);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
		event.setSource(source);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
		TraceEventRouter.getInstance().postEvent(event);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
	 * Print debug prints to console or do nothing if debug flag is not enabled
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
	 * @param text
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
	 *            text to print to console
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
	 * @param level
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
	 *            debug print level
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
	public static void debug(String text, DebugLevel level) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
		if (debugPrintsEnabled) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
			if (debugPrintLevel.compareTo(level) >= 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
				MessageConsole myConsole = findConsole("TraceViewerDebug"); //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
				MessageConsoleStream out = myConsole.newMessageStream();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
				out.println(text);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
	 * Find my console
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
	 * @param name
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
	 *            name for the console
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
	 * @return my console
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
	private static MessageConsole findConsole(String name) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
		ConsolePlugin plugin = ConsolePlugin.getDefault();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   315
		IConsoleManager conMan = plugin.getConsoleManager();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
		IConsole[] existing = conMan.getConsoles();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   317
		for (int i = 0; i < existing.length; i++)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   318
			if (name.equals(existing[i].getName()))
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
				return (MessageConsole) existing[i];
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
		// no console found, so create a new one
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
		MessageConsole myConsole = new MessageConsole(name, null);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
		conMan.addConsoles(new IConsole[] { myConsole });
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
		return myConsole;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
}