001 package toolbus.viewer;
002
003 import toolbus.tool.ToolInstance;
004 import aterm.ATerm;
005
006 /**
007 * Listener that can be notified of the arrival of performance statistics messages.
008 *
009 * @author Arnold Lankamp
010 */
011 public interface IPerformanceMonitor{
012
013 /**
014 * Fired when a tool connects.
015 *
016 * @param toolInstance
017 * The tool instance associated with the tool that connected.
018 */
019 void toolConnected(ToolInstance toolInstance);
020
021 /**
022 * Fired when a connection with a tool is terminated.
023 *
024 * @param toolInstance
025 * The tool instance associated with the tool that is no longer connected.
026 */
027 void toolConnectionClosed(ToolInstance toolInstance);
028
029 /**
030 * Fired when the performance statistics that were requested by the debug ToolBus arrived.
031 *
032 * @param toolInstance
033 * The tool instance the performance statistics are associated with.
034 * @param aTerm
035 * The term that contains the performance statistics data.
036 */
037 void performanceStatsArrived(ToolInstance toolInstance, ATerm aTerm);
038 }