Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java')
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java180
1 files changed, 180 insertions, 0 deletions
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java
new file mode 100644
index 000000000..c54e81d0b
--- /dev/null
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IMemoryMap.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Wind River Systems, Inc. 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.tm.tcf.services;
+
+import java.util.Map;
+
+import org.eclipse.tm.tcf.protocol.IService;
+import org.eclipse.tm.tcf.protocol.IToken;
+
+/**
+ * IMemoryMap service provides information about executable modules (files) mapped (loaded) into target memory.
+ */
+public interface IMemoryMap extends IService {
+
+ static final String NAME = "MemoryMap";
+
+ /**
+ * Memory region property names.
+ */
+ static final String
+ /** String, memory region ID */
+ PROP_ID = "ID",
+
+ /** Number, region address in memory */
+ PROP_ADDRESS = "Addr",
+
+ /** Number, region size */
+ PROP_SIZE = "Size",
+
+ /** Number, region offset in the file */
+ PROP_OFFSET = "Offs",
+
+ /** Boolean, true if the region represents BSS */
+ PROP_BSS = "BSS",
+
+ /** Number, region memory protection flags, see FLAG_* */
+ PROP_FLAGS = "Flags",
+
+ /** String, name of the file */
+ PROP_FILE_NAME = "FileName",
+
+ /** String, name of the object file section */
+ PROP_SECTION_NAME = "SectionName";
+
+ /**
+ * Memory region flags.
+ */
+ static final int
+ /** Read access is allowed */
+ FLAG_READ = 1,
+
+ /** Write access is allowed */
+ FLAG_WRITE = 2,
+
+ /** Instruction fetch access is allowed */
+ FLAG_EXECUTE = 4;
+
+ /**
+ * Memory region interface.
+ */
+ interface MemoryRegion {
+
+ /**
+ * Get region properties. See PROP_* definitions for property names.
+ * Properties are read only, clients should not try to modify them.
+ * @return Map of region properties.
+ */
+ Map<String,Object> getProperties();
+
+ /**
+ * Get memory region address.
+ * @return region address.
+ */
+ Number getAddress();
+
+ /**
+ * Get memory region size.
+ * @return region size.
+ */
+ Number getSize();
+
+ /**
+ * Get memory region file offset.
+ * @return file offset.
+ */
+ Number getOffset();
+
+ /**
+ * Get memory region flags.
+ * @return region flags.
+ */
+ int getFlags();
+
+ /**
+ * Get memory region file name.
+ * @return file name.
+ */
+ String getFileName();
+
+ /**
+ * Get memory region section name.
+ * @return section name.
+ */
+ String getSectionName();
+ }
+
+ /**
+ * Retrieve memory map for given context ID.
+ *
+ * @param id – context ID.
+ * @param done - call back interface called when operation is completed.
+ * @return - pending command handle.
+ */
+ IToken get(String id, DoneGet done);
+
+ /**
+ * Client call back interface for get().
+ */
+ interface DoneGet {
+ /**
+ * Called when memory map data retrieval is done.
+ * @param error – error description if operation failed, null if succeeded.
+ * @param map – memory map data.
+ */
+ void doneGet(IToken token, Exception error, MemoryRegion[] map);
+ }
+
+ /**
+ * Set memory map for given context.
+ *
+ * @param id – symbols context group ID or name.
+ * @param map – memory map data.
+ * @param done - call back interface called when operation is completed.
+ * @return - pending command handle.
+ */
+ IToken set(String id, MemoryRegion[] map, DoneSet done);
+
+ /**
+ * Client call back interface for set().
+ */
+ interface DoneSet {
+ /**
+ * Called when memory map set command is done.
+ * @param error – error description if operation failed, null if succeeded.
+ */
+ void doneSet(IToken token, Exception error);
+ }
+
+ /**
+ * Add memory map event listener.
+ * @param listener - memory map event listener to add.
+ */
+ void addListener(MemoryMapListener listener);
+
+ /**
+ * Remove memory map event listener.
+ * @param listener - memory map event listener to remove.
+ */
+ void removeListener(MemoryMapListener listener);
+
+ /**
+ * Service events listener interface.
+ */
+ interface MemoryMapListener {
+
+ /**
+ * Called when context memory map changes.
+ * @param context_id - context ID.
+ */
+ void changed(String context_id);
+ }
+}

Back to the top