From 60f24d786e48f33a32eea810e93a7929fbe081d7 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Tue, 17 Sep 2002 19:08:38 +0000 Subject: [PATCH] new Processlist extension point --- core/org.eclipse.cdt.core/plugin.properties | 1 + core/org.eclipse.cdt.core/plugin.xml | 4 +- .../schema/ProcessList.exsd | 93 +++++++++++++++++++ .../src/org/eclipse/cdt/core/CCorePlugin.java | 16 ++++ .../org/eclipse/cdt/core/IProcessInfo.java | 10 ++ .../org/eclipse/cdt/core/IProcessList.java | 9 ++ 6 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 core/org.eclipse.cdt.core/schema/ProcessList.exsd create mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessInfo.java create mode 100644 core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessList.java diff --git a/core/org.eclipse.cdt.core/plugin.properties b/core/org.eclipse.cdt.core/plugin.properties index 25990122465..302e7cfcb66 100644 --- a/core/org.eclipse.cdt.core/plugin.properties +++ b/core/org.eclipse.cdt.core/plugin.properties @@ -9,6 +9,7 @@ CBuildCommand.name=C Builder Command CBuildConsole.name=C Builder Console CProjectInfo.name=C Project Info CBuilder.name=C Build Model +ProcessList.name=Process List makeprojectowner.name=Make Project genericmake.name=Generic Make diff --git a/core/org.eclipse.cdt.core/plugin.xml b/core/org.eclipse.cdt.core/plugin.xml index 84145696bac..3713575919d 100644 --- a/core/org.eclipse.cdt.core/plugin.xml +++ b/core/org.eclipse.cdt.core/plugin.xml @@ -15,13 +15,11 @@ - - @@ -30,6 +28,7 @@ + - + + + + + + + + [Enter description of this extension point] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Enter extension point usage example here.] + + + + + + + + + [Enter API information here.] + + + + + + + + + [Enter information about supplied implementation of this extension point.] + + + + + + + + + + + + + diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java index ffd3fe3d6e0..19d08ac24b0 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/CCorePlugin.java @@ -320,4 +320,20 @@ public class CCorePlugin extends Plugin { System.arraycopy(extensions, 0, builders, 0, extensions.length); return builders; } + + public IProcessList getProcessList() { + IExtensionPoint extension = getDescriptor().getExtensionPoint("ProcessList"); + if (extension != null) { + IExtension[] extensions = extension.getExtensions(); + IConfigurationElement [] configElements = extensions[0].getConfigurationElements(); + if ( configElements.length != 0 ) { + try { + return (IProcessList) configElements[0].createExecutableExtension("class"); + } + catch (CoreException e) { + } + } + } + return null; + } } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessInfo.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessInfo.java new file mode 100644 index 00000000000..d4714770dd9 --- /dev/null +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessInfo.java @@ -0,0 +1,10 @@ +/* + * (c) Copyright QNX Software System Ltd. 2002. + * All Rights Reserved. + */ +package org.eclipse.cdt.core; + +public interface IProcessInfo { + public int getPid(); + public String getName(); +} diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessList.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessList.java new file mode 100644 index 00000000000..e9d1a02d32d --- /dev/null +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/IProcessList.java @@ -0,0 +1,9 @@ +/* + * (c) Copyright QNX Software System Ltd. 2002. + * All Rights Reserved. + */ +package org.eclipse.cdt.core; + +public interface IProcessList { + public IProcessInfo[] getProcessList(); +}