mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
[205142] Standardized use of typed DM Context parameters in DSF Debug interfaces.
This commit is contained in:
parent
d0e0286a8d
commit
9df59c726e
13 changed files with 82 additions and 261 deletions
|
@ -18,8 +18,8 @@ import org.eclipse.dd.dsf.debug.service.IRegisters;
|
|||
import org.eclipse.dd.dsf.debug.service.IRunControl;
|
||||
import org.eclipse.dd.dsf.debug.service.IModules.IModuleDMContext;
|
||||
import org.eclipse.dd.dsf.debug.service.IModules.IModuleDMData;
|
||||
import org.eclipse.dd.dsf.debug.service.IModules.ISymbolDMContext;
|
||||
import org.eclipse.dd.dsf.debug.service.IRegisters.IGroupChangedDMEvent;
|
||||
import org.eclipse.dd.dsf.debug.service.IRunControl.IExecutionDMContext;
|
||||
import org.eclipse.dd.dsf.service.DsfSession;
|
||||
import org.eclipse.dd.dsf.service.IDsfService;
|
||||
import org.eclipse.dd.dsf.ui.viewmodel.AbstractVMProvider;
|
||||
|
@ -41,11 +41,11 @@ public class ModulesLayoutNode extends AbstractDMVMLayoutNode
|
|||
protected void updateElementsInSessionThread(final IChildrenUpdate update) {
|
||||
if (!checkService(IRegisters.class, null, update)) return;
|
||||
|
||||
final IExecutionDMContext execDmc = findDmcInPath(update.getElementPath(), IExecutionDMContext.class) ;
|
||||
final ISymbolDMContext symDmc = findDmcInPath(update.getElementPath(), ISymbolDMContext.class) ;
|
||||
|
||||
if (execDmc != null) {
|
||||
if (symDmc != null) {
|
||||
getServicesTracker().getService(IModules.class).getModules(
|
||||
execDmc,
|
||||
symDmc,
|
||||
new DataRequestMonitor<IModuleDMContext[]>(getSession().getExecutor(), null) {
|
||||
@Override
|
||||
public void handleCompleted() {
|
||||
|
|
|
@ -27,12 +27,10 @@ import org.eclipse.core.runtime.Status;
|
|||
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.Query;
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.datamodel.DMContexts;
|
||||
import org.eclipse.dd.dsf.debug.DsfDebugPlugin;
|
||||
import org.eclipse.dd.dsf.debug.service.IMemory;
|
||||
import org.eclipse.dd.dsf.debug.service.IRunControl;
|
||||
import org.eclipse.dd.dsf.debug.service.IMemory.MemoryChangedEvent;
|
||||
import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerDMContext;
|
||||
import org.eclipse.dd.dsf.debug.service.IMemory.IMemoryChangedEvent;
|
||||
import org.eclipse.dd.dsf.service.DsfServiceEventHandler;
|
||||
import org.eclipse.debug.core.DebugEvent;
|
||||
import org.eclipse.debug.core.DebugException;
|
||||
|
@ -509,29 +507,15 @@ public class DsfMemoryBlock extends PlatformObject implements IMemoryBlockExtens
|
|||
}
|
||||
|
||||
@DsfServiceEventHandler
|
||||
public void eventDispatched(MemoryChangedEvent e) {
|
||||
|
||||
// Find the container of the event
|
||||
IContainerDMContext eventContext = DMContexts.getAncestorOfType(e.getContext(), IContainerDMContext.class);
|
||||
if (eventContext == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Find the container of the block
|
||||
IContainerDMContext blockContext = DMContexts.getAncestorOfType(fRetrieval.getContext(), IContainerDMContext.class);
|
||||
if (blockContext == null) {
|
||||
return;
|
||||
}
|
||||
public void eventDispatched(IMemoryChangedEvent e) {
|
||||
|
||||
// Check if we are in the same address space
|
||||
if (eventContext != blockContext) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getDMContext().equals(fRetrieval.getContext())) {
|
||||
IAddress[] addresses = e.getAddresses();
|
||||
for (int i = 0; i < addresses.length; i++)
|
||||
handleMemoryChange(addresses[i].getValue());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param address
|
||||
|
|
|
@ -144,7 +144,7 @@ public class DsfMemoryBlockRetrieval extends PlatformObject implements IMemoryBl
|
|||
return fExecutor;
|
||||
}
|
||||
|
||||
public IDMContext getContext() {
|
||||
public IMemoryDMContext getContext() {
|
||||
return fContext;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,13 +36,13 @@ public interface IBreakpoints extends IDsfService {
|
|||
* @param dmc Context to start tracking breakpoints for.
|
||||
* @param rm Completion callback.
|
||||
*/
|
||||
public void installBreakpoints(IDMContext dmc, RequestMonitor rm);
|
||||
public void installBreakpoints(IBreakpointsDMContext dmc, RequestMonitor rm);
|
||||
|
||||
/**
|
||||
* Uninstall and stop tracking breakpoints for the given context.
|
||||
* @param dmc Context to start tracking breakpoints for.
|
||||
* @param rm Completion callback.
|
||||
*/
|
||||
public void uninstallBreakpoints(IDMContext dmc, RequestMonitor rm);
|
||||
public void uninstallBreakpoints(IBreakpointsDMContext dmc, RequestMonitor rm);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import org.eclipse.cdt.core.IAddress;
|
|||
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMEvent;
|
||||
import org.eclipse.dd.dsf.service.IDsfService;
|
||||
import org.eclipse.debug.core.model.MemoryByte;
|
||||
|
||||
|
@ -50,22 +51,8 @@ public interface IMemory extends IDsfService {
|
|||
* // do whatever...
|
||||
* }
|
||||
*/
|
||||
public class MemoryChangedEvent {
|
||||
IAddress[] fAddresses;
|
||||
IDMContext fContext;
|
||||
|
||||
public MemoryChangedEvent(IDMContext context, IAddress[] addresses) {
|
||||
fContext = context;
|
||||
fAddresses = addresses;
|
||||
}
|
||||
|
||||
public IDMContext getContext() {
|
||||
return fContext;
|
||||
}
|
||||
|
||||
public IAddress[] getAddresses() {
|
||||
return fAddresses;
|
||||
}
|
||||
public interface IMemoryChangedEvent extends IDMEvent<IMemoryDMContext> {
|
||||
IAddress[] getAddresses();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -88,7 +75,7 @@ public interface IMemory extends IDsfService {
|
|||
* @param count the number of data elements to read
|
||||
* @param drm the asynchronous data request monitor
|
||||
*/
|
||||
public void getMemory(IDMContext context, IAddress address, long offset,
|
||||
public void getMemory(IMemoryDMContext context, IAddress address, long offset,
|
||||
int word_size, int count, DataRequestMonitor<MemoryByte[]> drm);
|
||||
|
||||
/**
|
||||
|
@ -109,7 +96,7 @@ public interface IMemory extends IDsfService {
|
|||
* @param buffer the source buffer
|
||||
* @param rm the asynchronous data request monitor
|
||||
*/
|
||||
public void setMemory(IDMContext context, IAddress address, long offset,
|
||||
public void setMemory(IMemoryDMContext context, IAddress address, long offset,
|
||||
int word_size, int count, byte[] buffer, RequestMonitor rm);
|
||||
|
||||
/**
|
||||
|
@ -125,7 +112,7 @@ public interface IMemory extends IDsfService {
|
|||
* @param pattern the source buffer
|
||||
* @param rm the asynchronous data request monitor
|
||||
*/
|
||||
public void fillMemory(IDMContext context, IAddress address, long offset,
|
||||
public void fillMemory(IMemoryDMContext context, IAddress address, long offset,
|
||||
int word_size, int count, byte[] pattern, RequestMonitor rm);
|
||||
|
||||
}
|
||||
|
|
|
@ -90,16 +90,16 @@ public interface IModules extends IDsfService {
|
|||
/**
|
||||
* Retreives the list of modules loaded in given symbol context.
|
||||
*/
|
||||
void getModules(IDMContext symCtx, DataRequestMonitor<IModuleDMContext[]> rm);
|
||||
void getModules(ISymbolDMContext symCtx, DataRequestMonitor<IModuleDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Calculates the line numbers corresponding to the given address.
|
||||
*/
|
||||
void calcLineInfo(IDMContext symCtx, IAddress address, DataRequestMonitor<LineInfo[]> rm);
|
||||
void calcLineInfo(ISymbolDMContext symCtx, IAddress address, DataRequestMonitor<LineInfo[]> rm);
|
||||
|
||||
/**
|
||||
* Calculates the addresses corresponding to the given source file location.
|
||||
*/
|
||||
void calcAddressInfo(IDMContext symCtx, String file, int line, int col, DataRequestMonitor<AddressRange[]> rm);
|
||||
void calcAddressInfo(ISymbolDMContext symCtx, String file, int line, int col, DataRequestMonitor<AddressRange[]> rm);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006 Wind River Systems and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Wind River Systems - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.dd.dsf.debug.service;
|
||||
|
||||
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMData;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMService;
|
||||
|
||||
/**
|
||||
* Provides generic access to operating system objects and methods to
|
||||
* manipulate those objects. This is a much more extensive interface than
|
||||
* the NativeProcesses service but for simple debugging, it serves the same
|
||||
* purpose: to list/create/terminate processes and attach debugger to them.
|
||||
*
|
||||
* @see INativeProcesses
|
||||
*/
|
||||
public interface IOS extends IDMService {
|
||||
|
||||
/**
|
||||
* Context object for the whole OS, for debuggers that support
|
||||
* debugging multiple targets/cores simultaneously.
|
||||
*/
|
||||
public interface IOSDMContext extends IDMContext {}
|
||||
|
||||
/**
|
||||
* Data object describing OS info
|
||||
*/
|
||||
public interface IOSDMData extends IDMData {
|
||||
String getName();
|
||||
String getDescription();
|
||||
String getVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
* Context for a OS object type, such as process, kernel task, semaphore, etc.
|
||||
*/
|
||||
public interface IObjectTypeDMContext extends IDMContext {}
|
||||
|
||||
/**
|
||||
* Description data for a OS object type.
|
||||
*/
|
||||
public interface IObjectTypeDMData extends IDMData {
|
||||
String getName();
|
||||
String getDescription();
|
||||
String getSingularName();
|
||||
String getPluralName();
|
||||
}
|
||||
|
||||
/**
|
||||
* OS object context.
|
||||
*/
|
||||
public interface IObjectDMContext extends IDMContext {}
|
||||
|
||||
/**
|
||||
* Description data for an OS object.
|
||||
*/
|
||||
public interface IObjectDMData extends IDMData {
|
||||
String getName();
|
||||
String getID();
|
||||
boolean canAttachDebugger();
|
||||
boolean isDebuggerAttached();
|
||||
IDMContext getDebuggingContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves list of OS object types.
|
||||
* @param os OS context.
|
||||
* @param parent Optional parent type.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
public void getObjectTypes(IOSDMContext os, IObjectTypeDMContext parent, DataRequestMonitor<IObjectTypeDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Retrieves list of OS objects for given type.
|
||||
* @param os OS context.
|
||||
* @param type The object type.
|
||||
* @param parent Optional parent of the requested objects.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
public void getObjects(IOSDMContext os, IObjectTypeDMContext type, IObjectDMContext parent, DataRequestMonitor<IObjectDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Attaches the debugger to given OS object context.
|
||||
* @param objectDmc Data Model Context of the OS object to attach to.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
public void attachDebuggerToObject(IObjectDMContext objectDmc, RequestMonitor requestMonitor);
|
||||
}
|
|
@ -21,8 +21,14 @@ import org.eclipse.dd.dsf.datamodel.IDMEvent;
|
|||
*/
|
||||
public interface IRegisters extends IFormattedValues {
|
||||
|
||||
/** Event indicating groups have changed. */
|
||||
public interface IGroupsChangedDMEvent extends IDMEvent<IRunControl.IExecutionDMContext> {}
|
||||
/**
|
||||
* Event indicating groups have changed. The type of context returned by this
|
||||
* event is generic, because different implementations of the the register service
|
||||
* could configure register groups using different contexts. Some implementations
|
||||
* could configure different register groups for each execution context, other
|
||||
* services may have a global list of groups.
|
||||
*/
|
||||
public interface IGroupsChangedDMEvent extends IDMEvent<IDMContext> {}
|
||||
|
||||
/** Register group context */
|
||||
public interface IRegisterGroupDMContext extends IFormattedDataDMContext {
|
||||
|
@ -133,14 +139,9 @@ public interface IRegisters extends IFormattedValues {
|
|||
void getRegisterGroups(IDMContext ctx, DataRequestMonitor<IRegisterGroupDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Retrieves list of sub-groups of given register group.
|
||||
* @param ctx Context for the returned data.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
void getRegisterSubGroups(IDMContext ctx, DataRequestMonitor<IRegisterGroupDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Retrieves registers in given register group.
|
||||
* Retrieves the list of registers for the given context. The given context could include
|
||||
* a register group and an execution context or just an execution context, in which case all
|
||||
* registers for all groups should be returned.
|
||||
* @param ctx Context for the returned data.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
|
@ -151,7 +152,7 @@ public interface IRegisters extends IFormattedValues {
|
|||
* @param ctx Context for the returned data.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
void getBitFields(IDMContext ctx, DataRequestMonitor<IBitFieldDMContext[]> rm);
|
||||
void getBitFields(IRegisterDMContext ctx, DataRequestMonitor<IBitFieldDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Writes a register value for a given register to the target
|
||||
|
@ -160,7 +161,7 @@ public interface IRegisters extends IFormattedValues {
|
|||
* @param formatId Format of the value to be written.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
void writeRegister(IDMContext regCtx, String regValue, String formatId, RequestMonitor rm);
|
||||
void writeRegister(IRegisterDMContext regCtx, String regValue, String formatId, RequestMonitor rm);
|
||||
|
||||
/**
|
||||
* Writes a bit field value for a given bit field to the target
|
||||
|
@ -169,7 +170,7 @@ public interface IRegisters extends IFormattedValues {
|
|||
* @param formatId Format of the value to be written.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
void writeBitField(IDMContext bitFieldCtx, String bitFieldValue, String formatId, RequestMonitor rm);
|
||||
void writeBitField(IBitFieldDMContext bitFieldCtx, String bitFieldValue, String formatId, RequestMonitor rm);
|
||||
|
||||
/**
|
||||
* Writes a bit field value for a given bit field to the target
|
||||
|
@ -177,5 +178,5 @@ public interface IRegisters extends IFormattedValues {
|
|||
* @param mnemonic Mnemonic which represents the value to be written.
|
||||
* @param rm Request completion monitor.
|
||||
*/
|
||||
void writeBitField(IDMContext bitFieldCtx, IMnemonic mnemonic, RequestMonitor rm);
|
||||
void writeBitField(IBitFieldDMContext bitFieldCtx, IMnemonic mnemonic, RequestMonitor rm);
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.dd.dsf.debug.service;
|
||||
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMData;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMEvent;
|
||||
|
@ -121,15 +121,15 @@ public interface IRunControl extends IDMService
|
|||
* Run control commands. They all require the IExecutionContext object on
|
||||
* which they perform the operations.
|
||||
*/
|
||||
boolean canResume(IDMContext context);
|
||||
boolean canSuspend(IDMContext context);
|
||||
boolean isSuspended(IDMContext context);
|
||||
void resume(IDMContext context, RequestMonitor requestMonitor);
|
||||
void suspend(IDMContext context, RequestMonitor requestMonitor);
|
||||
boolean canResume(IExecutionDMContext context);
|
||||
boolean canSuspend(IExecutionDMContext context);
|
||||
boolean isSuspended(IExecutionDMContext context);
|
||||
void resume(IExecutionDMContext context, RequestMonitor requestMonitor);
|
||||
void suspend(IExecutionDMContext context, RequestMonitor requestMonitor);
|
||||
public enum StepType { STEP_OVER, STEP_INTO, STEP_RETURN };
|
||||
boolean isStepping(IDMContext context);
|
||||
boolean canStep(IDMContext context);
|
||||
void step(IDMContext context, StepType stepType, RequestMonitor requestMonitor);
|
||||
boolean canInstructionStep(IDMContext context);
|
||||
void instructionStep(IDMContext context, StepType stepType, RequestMonitor requestMonitor);
|
||||
boolean isStepping(IExecutionDMContext context);
|
||||
boolean canStep(IExecutionDMContext context);
|
||||
void step(IExecutionDMContext context, StepType stepType, RequestMonitor requestMonitor);
|
||||
boolean canInstructionStep(IExecutionDMContext context);
|
||||
void instructionStep(IExecutionDMContext context, StepType stepType, RequestMonitor requestMonitor);
|
||||
}
|
||||
|
|
|
@ -30,10 +30,10 @@ public interface ISourceLookup extends IDsfService {
|
|||
/**
|
||||
* Retrieves the host source object for given debugger path string.
|
||||
*/
|
||||
void getSource(IDMContext ctx, String debuggerPath, DataRequestMonitor<Object> rm);
|
||||
void getSource(ISourceLookupDMContext ctx, String debuggerPath, DataRequestMonitor<Object> rm);
|
||||
|
||||
/**
|
||||
* Retrieves the debugger path string for given host source object.
|
||||
*/
|
||||
void getDebuggerPath(IDMContext ctx, Object source, DataRequestMonitor<String> rm);
|
||||
void getDebuggerPath(ISourceLookupDMContext ctx, Object source, DataRequestMonitor<String> rm);
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ public interface IStack extends IDMService {
|
|||
void getLocals(IDMContext frameCtx, DataRequestMonitor<IVariableDMContext[]> rm);
|
||||
|
||||
/**
|
||||
* Retrieves the stack depth of the specified stack frame.
|
||||
* Retrieves the number of stack frames available for the given context..
|
||||
* @param dmc Context to retrieve data for.
|
||||
* @param The maximum depth of stack to calculate. Should be 0 to calculate
|
||||
* depth with no limit.
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.dd.dsf.debug.service;
|
||||
|
||||
import org.eclipse.dd.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMEvent;
|
||||
import org.eclipse.dd.dsf.debug.service.IRunControl.IExecutionDMContext;
|
||||
import org.eclipse.dd.dsf.service.IDsfService;
|
||||
|
@ -46,21 +45,21 @@ public interface IStepQueueManager extends IDsfService {
|
|||
* Returns the number of step commands that are queued for given execution
|
||||
* context.
|
||||
*/
|
||||
int getPendingStepCount(IDMContext ctx);
|
||||
int getPendingStepCount(IExecutionDMContext ctx);
|
||||
|
||||
/**
|
||||
* Checks whether a step command can be queued up for given context.
|
||||
*/
|
||||
boolean canEnqueueStep(IDMContext execCtx);
|
||||
boolean canEnqueueStep(IExecutionDMContext execCtx);
|
||||
|
||||
boolean canEnqueueInstructionStep(IDMContext ctx);
|
||||
boolean canEnqueueInstructionStep(IExecutionDMContext ctx);
|
||||
|
||||
/**
|
||||
* Adds a step command to the execution queue for given context.
|
||||
* @param execCtx Execution context that should perform the step.
|
||||
* @param stepType Type of step to execute.
|
||||
*/
|
||||
void enqueueStep(IDMContext ctx, IRunControl.StepType stepType);
|
||||
void enqueueStep(IExecutionDMContext ctx, IRunControl.StepType stepType);
|
||||
|
||||
/**
|
||||
* Adds an instruction step command to the execution queue for given
|
||||
|
@ -68,7 +67,7 @@ public interface IStepQueueManager extends IDsfService {
|
|||
* @param execCtx Execution context that should perform the step.
|
||||
* @param stepType Type of step to execute.
|
||||
*/
|
||||
void enqueueInstructionStep(IDMContext ctx, IRunControl.StepType stepType);
|
||||
void enqueueInstructionStep(IExecutionDMContext ctx, IRunControl.StepType stepType);
|
||||
|
||||
boolean isSteppingTimedOut(IDMContext context);
|
||||
boolean isSteppingTimedOut(IExecutionDMContext context);
|
||||
}
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2006 Wind River Systems and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Wind River Systems - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.dd.dsf.debug.service;
|
||||
|
||||
import org.eclipse.dd.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMData;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMEvent;
|
||||
import org.eclipse.dd.dsf.datamodel.IDMService;
|
||||
|
||||
/**
|
||||
* This is just an initial take at the targets interface.
|
||||
*/
|
||||
public interface ITargets extends IDMService {
|
||||
|
||||
public interface ITargetDMContext extends IDMContext {}
|
||||
|
||||
public interface ITargetDMData extends IDMData {
|
||||
String getName();
|
||||
boolean isConnected();
|
||||
}
|
||||
|
||||
public interface ITargetStateChanged extends IDMEvent<ITargetDMContext> {}
|
||||
|
||||
public interface ICoreDMContext extends IDMContext {}
|
||||
|
||||
public interface ICoreDMData extends IDMData {
|
||||
String getName();
|
||||
boolean isConnected();
|
||||
IOS.IOSDMContext getOSDMContext();
|
||||
}
|
||||
|
||||
public interface ICoreStateChangedDMEvent extends IDMEvent<ICoreDMContext> {}
|
||||
|
||||
public void getTargets(DataRequestMonitor<ITargetDMContext> requestMonitor);
|
||||
public void getCores(ITargetDMContext target, DataRequestMonitor<ICoreDMContext> requestMonitor);
|
||||
|
||||
public void connectTarget(ITargetDMContext targetDmc, RequestMonitor requestMonitor);
|
||||
public void disconnectTarget(ITargetDMContext targetDmc, RequestMonitor requestMonitor);
|
||||
public void connectCore(ITargetDMContext targetDmc, RequestMonitor requestMonitor);
|
||||
public void disconnectCore(ITargetDMContext targetDmc, RequestMonitor requestMonitor);
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue