package com.microchip.mplab.ipelib.tools; import com.microchip.mplab.mdbcore.MessageMediator.Message; import java.util.ArrayList; import java.util.Observable; public class IPENotifier extends Observable { private static IPENotifier singleton = null; private NotifyData notifyData = new NotifyData(); public boolean setToolList(ArrayList toolsList, String unpluggedTool) { this.notifyData.m_eOperation = IPENotifier.Operation.ID_TOOL_NOTIFY; this.notifyData.toolArrayList = toolsList; this.notifyData.disconnectedTool = unpluggedTool; this.setChanged(); this.notifyObservers(this.notifyData); return true; } public void setMessageNotification(String msg) { this.notifyData.m_eOperation = IPENotifier.Operation.ID_MSG_NOTIFY; this.notifyData.msgNotification = msg; this.setChanged(); this.notifyObservers(this.notifyData); } public void setMemoryChangedNotification() { this.notifyData.m_eOperation = IPENotifier.Operation.MEMORY_NOTIFY; this.notifyData.MemoryChange = true; this.setChanged(); this.notifyObservers(this.notifyData); } public void SetMessageObjectNotify(Message objMessage, int ActionID) { this.notifyData.m_eOperation = IPENotifier.Operation.ID_MSG_OBJECT; this.notifyData.objMessage = objMessage; this.notifyData.ActionID = ActionID; this.setChanged(); this.notifyObservers(this.notifyData); } public void avrSamReadNotify() { this.notifyData.m_eOperation = IPENotifier.Operation.AVRSAM_CONFIG_READ; this.setChanged(); this.notifyObservers(this.notifyData); } public void prgWindowReadNotify() { this.notifyData.m_eOperation = IPENotifier.Operation.READ_DEVICE; this.setChanged(); this.notifyObservers(this.notifyData); } public void avrSamWriteNotify() { this.notifyData.m_eOperation = IPENotifier.Operation.AVRSAM_CONFIG_WRITE; this.setChanged(); this.notifyObservers(this.notifyData); } IPENotifier() { } public static IPENotifier getIPENotifierController() { if (singleton == null) { singleton = new IPENotifier(); } return singleton; } public static enum Operation { ID_MSG_NOTIFY, ID_TOOL_NOTIFY, ID_MSG_OBJECT, MEMORY_NOTIFY, AVRSAM_CONFIG_READ, AVRSAM_CONFIG_WRITE, READ_DEVICE; } }