trace/traceanalyser/com.nokia.s60tools.traceanalyser/src/com/nokia/s60tools/traceanalyser/plugin/TraceAnalyserPlugin.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 23 Jun 2010 13:57:56 +0300
changeset 9 14dc2103a631
permissions -rw-r--r--
TraceAnalyser 1.0.5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
* Contributors:
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
* Description: 
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
*/
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
package com.nokia.s60tools.traceanalyser.plugin;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.io.File;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import java.io.IOException;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import java.net.URL;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.core.runtime.FileLocator;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.core.runtime.jobs.ILock;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.core.runtime.jobs.Job;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import org.eclipse.jface.resource.ImageDescriptor;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import org.eclipse.ui.plugin.AbstractUIPlugin;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import org.osgi.framework.BundleContext;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import com.nokia.s60tools.traceanalyser.model.Engine;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import com.nokia.s60tools.traceanalyser.resources.ImageResourceManager;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import com.nokia.s60tools.traceanalyser.ui.views.MainView;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
 * The activator class controls the plug-in life cycle
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
public class TraceAnalyserPlugin extends AbstractUIPlugin {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
	/* Access lock */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
	private static ILock accessLock = null;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
	/* Install path of Plugin */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
	private String pluginInstallPath = "";
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
	/* Main view of Trace Analyser */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
	private static MainView mainView;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
	/* Engine of Trace Analyser */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
	private static Engine engine;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
	// The plug-in ID
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
	public static final String PLUGIN_ID = "com.nokia.s60tools.traceanalyser";
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
	// The shared instance
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
	private static TraceAnalyserPlugin plugin;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
	 * TraceAnalyserPlugin.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
	 * The constructor
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
	public TraceAnalyserPlugin() {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
	/*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	 * (non-Javadoc)
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	public void start(BundleContext context) throws Exception {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
		super.start(context);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
		plugin = this;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
		String pluginInstallLocation = getPluginInstallPath();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
		String imagesPath = getImagesPath(pluginInstallLocation);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
		
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
		// Loading images required by this plug-in
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
		ImageResourceManager.loadImages(imagesPath);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
		
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
		accessLock = Job.getJobManager().newLock();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
		
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
	/*
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
	 * (non-Javadoc)
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
	public void stop(BundleContext context) throws Exception {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
		engine.stop();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
		plugin = null;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
		super.stop(context);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
	 * getDefault.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	 * Returns the shared instance
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
	 * @return the shared instance
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
	public static TraceAnalyserPlugin getDefault() {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
		return plugin;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
	 * getImageDescriptor.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
	 * Returns an image descriptor for the image file at the given
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
	 * plug-in relative path
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
	 *
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
	 * @param path the path
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
	 * @return the image descriptor
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
	public static ImageDescriptor getImageDescriptor(String path) {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
		return imageDescriptorFromPlugin(PLUGIN_ID, path);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
	 * getPluginInstallPath
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
	 * @return the path where this plugin is installed
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
	public static String getPluginInstallPath() {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
		try {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
			if ( plugin.pluginInstallPath.equals("") ) { //$NON-NLS-1$
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
				 // URL to the plugin's root ("/")
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
				URL relativeURL = plugin.getBundle().getEntry("/"); //$NON-NLS-1$
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
				//	Converting into local path
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
				URL localURL = FileLocator.toFileURL(relativeURL);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
				//	Getting install location in correct form
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
				File f = new File(localURL.getPath());
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
				plugin.pluginInstallPath = f.getAbsolutePath();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
			}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
			return plugin.pluginInstallPath;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
		} catch (Exception e) {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
			return ""; //$NON-NLS-1$
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
		}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
	 * getImagesPath.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
	 * Gets images path relative to given plugin install path.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
	 * @param pluginInstallPath Plugin installation path.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
	 * @return Path were image resources are located.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
	 * @throws IOException
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
	private String getImagesPath(String pluginInstallPath) throws IOException{
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
		return pluginInstallPath
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
				+ File.separatorChar + "icons"; //$NON-NLS-1$
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
	 * startEngine.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
	 * Starts Trace Analyser's engine.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	public static void startEngine(){
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
		accessLock.acquire();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
		if(engine == null){
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
			engine = new Engine();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
		}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
		accessLock.release();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
	 * getEngine
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
	 * getter for engine. If engine is not yet started this method starts it.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
	 * @return
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
	public static Engine getEngine(){
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
		startEngine();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
		return engine;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
	 * getMainView.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
	 * @return main view of Trace Analyser
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
	public static MainView getMainView() {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
		return mainView;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
	 * setMainView.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
	 * @param newMainView new main view.
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
	public static void setMainView(MainView newMainView) {
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
		mainView = newMainView;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
		if(engine != null){
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
			engine.setMainView(mainView);
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
		}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
	/**
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	 * resets engine
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
	 */
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	public static Engine restartEngine(){
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
		engine = new Engine();
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
		return engine;
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
	}
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
	
14dc2103a631 TraceAnalyser 1.0.5
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
}