diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextListener.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextListener.java
new file mode 100644
index 00000000000..37d5d5f47db
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextListener.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2008 ARM Limited 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:
+ * ARM Limited - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.debug.core.disassembly;
+
+/**
+ * The instances of this interface are notified when
+ * a disassembly context is registered or unregistered
+ * with IDisassemblyContextService
.
+ *
+ * This interface is used by the disassembly UI components. + *
+ *+ * The clients may implement this interface. + *
+ */ +public interface IDisassemblyContextListener { + + /** + * Indicates thatcontext
has been registered
+ * with IDisassemblyContextService
.
+ *
+ * @param context the disassembly context that is registered
+ */
+ public void contextAdded( Object context );
+
+ /**
+ * Indicates that context
has been unregistered
+ * with IDisassemblyContextService
.
+ *
+ * @param context the disassembly context that is unregistered
+ */
+ public void contextRemoved( Object context );
+}
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextProvider.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextProvider.java
new file mode 100644
index 00000000000..35a3b05da81
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextProvider.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2008 ARM Limited 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:
+ * ARM Limited - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.debug.core.disassembly;
+
+/**
+ * Provides disassembly context for given element.
+ * + * Clients must implements this interface to plug into + * the diassembly framework. + *
+ */ +public interface IDisassemblyContextProvider { + + /** + * Returns the disassembly context object forelement
+ *
+ * @param element the element being queried for disassembly context
+ * @return an object that represents the disassembly context
+ * for the given element, or null
if the given element
+ * doesn't provide a disassembly context
+ */
+ public Object getDisassemblyContext( Object element );
+}
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextService.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextService.java
new file mode 100644
index 00000000000..94f904607e2
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/disassembly/IDisassemblyContextService.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2008 ARM Limited 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:
+ * ARM Limited - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.debug.core.disassembly;
+
+/**
+ * Interface for registering the disassembly context objects.
+ * + * Clients interested in the context change notifications + * may register a listener. + *
+ *
+ * This interface is not intended to be implemented by clients.
+ * It can be accessed from CDebugCorePlugin
.
+ *