/** * Return breakpoint status info for all active TCF debug sessions. * * @param breakpoint * @return breakpoint status as defined by TCF Breakpoints service. */ Map<TCFLaunch, Map<String, Object>> getBreakpointStatus(IBreakpoint breakpoint) { assert Protocol.isDispatchThread(); Map<TCFLaunch, Map<String, Object>> map = new HashMap<TCFLaunch, Map<String, Object>>(); if (disposed) return null; ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); for (ILaunch l : launches) { if (l instanceof TCFLaunch) { TCFLaunch launch = (TCFLaunch) l; TCFBreakpointsStatus bs = launch.getBreakpointsStatus(); if (bs != null) map.put(launch, bs.getStatus(breakpoint)); } } return map; }
@Override public void onConnected(final TCFLaunch launch) { updateAnnotations(null, launch); TCFBreakpointsStatus bps = launch.getBreakpointsStatus(); if (bps == null) return; bps.addListener( new ITCFBreakpointListener() { public void breakpointStatusChanged(String id) { updateAnnotations(null, launch); } public void breakpointRemoved(String id) { updateAnnotations(null, launch); } public void breakpointChanged(String id) {} }); }