1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-09 18:15:23 +02:00

[173265] [api] Need systemType -> subsystemConfiguration association

This commit is contained in:
Uwe Stieber 2007-02-09 15:32:54 +00:00
parent 6870a4a8e0
commit 53e096fc18
3 changed files with 27 additions and 2 deletions

View file

@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
* *
* Contributors: * Contributors:
* {Name} (company) - description of contribution. * Uwe Stieber (Wind River) - Extended system type -> subsystemConfiguration association.
********************************************************************************/ ********************************************************************************/
package org.eclipse.rse.core; package org.eclipse.rse.core;
@ -112,4 +112,18 @@ public interface IRSESystemType extends IAdaptable {
* @return the bundle which defines this system type or <code>null</code> if none * @return the bundle which defines this system type or <code>null</code> if none
*/ */
public Bundle getDefiningBundle(); public Bundle getDefiningBundle();
/**
* Returns a list of fully qualified known subsystem configuration id's that
* this system type wants to be registered against. More subsystem configurations
* can be added through the <tt>subsystemConfigurations</tt> extension point.
* <p>
* <b>Note:</b> The list returned here does not imply that the corresponding
* subsystem configurations exist. The list contains only possibilites not
* requirements.
*
* @return The list of subsystem configuration id or <code>null</code>.
*/
public String[] getSubsystemConfigurationIds();
} }

View file

@ -121,6 +121,15 @@ public class RSESystemType implements IRSESystemType {
return definingBundle; return definingBundle;
} }
/* (non-Javadoc)
* @see org.eclipse.rse.core.IRSESystemType#getSubsystemConfigurationIds()
*/
public String[] getSubsystemConfigurationIds() {
// We are not proposing any subsystem configuration here
// by default.
return null;
}
/** /**
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/ */

View file

@ -307,7 +307,9 @@ public class SubSystemConfigurationProxy implements ISubSystemConfigurationProxy
IRSESystemType[] systemTypes = RSECorePlugin.getDefault().getRegistry().getSystemTypes(); IRSESystemType[] systemTypes = RSECorePlugin.getDefault().getRegistry().getSystemTypes();
for (int i = 0; i < systemTypes.length; i++) { for (int i = 0; i < systemTypes.length; i++) {
IRSESystemType systemType = systemTypes[i]; IRSESystemType systemType = systemTypes[i];
if (isMatchingDeclaredSystemTypes(systemType)) { if (isMatchingDeclaredSystemTypes(systemType)
|| (systemType.getSubsystemConfigurationIds() != null
&& Arrays.asList(systemType.getSubsystemConfigurationIds()).contains(getId()))) {
resolvedSystemTypes.add(systemType.getName()); resolvedSystemTypes.add(systemType.getName());
} }
} }