sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/plugin/model/IReportable.java
changeset 2 b9ab3b238396
child 5 844b047e260d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysperfana/perfinvestigator/com.nokia.carbide.cpp.pi/src/com/nokia/carbide/cpp/internal/pi/plugin/model/IReportable.java	Thu Feb 11 15:32:31 2010 +0200
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *
+ */
+
+package com.nokia.carbide.cpp.internal.pi.plugin.model;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+
+import org.eclipse.jface.action.MenuManager;
+
+public interface IReportable extends ITrace
+{
+	/*
+	 * Hashtable key should contain an Object (e.g. an Integer representing thread id) and value a Vector which contains Strings
+	 */
+	public static final Boolean SORT_BY_NAME   = Boolean.TRUE;
+	public static final Boolean SORT_BY_NUMBER = Boolean.FALSE;
+	
+	public ArrayList<String>  getColumnNames(); // table column names
+	public ArrayList<Boolean> getColumnSortTypes(); // This gives feedback to the system whether column data strings should be sorted by name or the first number they may contain. 
+										// Boolean values SORT_BY_NAME and SORT_BY_NUMBER are meant to be used to indicate this information.
+	public Hashtable<Integer,Object> getSummaryTable(double startTime, double endTime);
+	public String getActiveInfo(Object key, double startTime, double endTime);
+	public String getGeneralInfo(); // this is reserved for future implementation and has no functionality at the moment
+
+	//	this menu allows plugin to control reporting within the report generator plugin's frame
+	//	public JMenu getReportMenu(Component parentComponent);
+	public MenuManager getReportGeneratorManager();
+}