1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 07:05:24 +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.
*
* Contributors:
* {Name} (company) - description of contribution.
* Uwe Stieber (Wind River) - Extended system type -> subsystemConfiguration association.
********************************************************************************/
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
*/
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;
}
/* (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)
*/

View file

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