/*******************************************************************************
* Copyright (c) 2015 ARM Ltd. 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 Ltd and ARM Germany GmbH - Initial API and implementation
*******************************************************************************/
package com.arm.cmsis.pack.rte.components;
import java.util.Map;
import com.arm.cmsis.pack.data.ICpComponent;
/**
* Interface for Cgroup level of component hierarchy.
* Extends IRteComponentItem and adds methods to handle ICpApi
* @see IRteComponentItem
*/
public interface IRteComponentGroup extends IRteComponentItem {
/**
* Returns API collection as map sorted by version (from latest to oldest )
* @return API map
*/
Map<String, ICpComponent> getApis();
/**
* Returns api of specified version
* @return ICpApi object if found or null
*/
ICpComponent getApi(String version);
/**
* Returns version of active API
* @return active API version or null if no active API available
*/
String getActiveApiVersion();
/**
* Sets active API version
* @param version to set active
* @return if active version has changed
*/
boolean setActiveApi(String version);
}