/**
* Copyright (C) 2008 Progress Software, Inc. All rights reserved.
* http://fusesource.com
*
* The software in this package is published under the terms of the AGPL license
* a copy of which has been included with this distribution in the license.txt file.
*/
package org.fusesource.cloudmix.common;
import java.util.Collection;
import org.fusesource.cloudmix.common.controller.AgentController;
import org.fusesource.cloudmix.common.controller.FeatureController;
import org.fusesource.cloudmix.common.controller.ProfileController;
/**
* @version $Revision$
*/
public interface ControllerDataProvider {
GridController getGrid();
void setGrid(GridController grid);
AgentController addAgent(String id, AgentController agent);
AgentController removeAgent(String agentId);
AgentController getAgent(String agentId);
AgentController updateAgent(String id, AgentController agent);
Collection<AgentController> getAgents();
FeatureController addFeature(String id, FeatureController featureController);
FeatureController removeFeature(String featureId);
FeatureController getFeature(String featureId);
Collection<FeatureController> getFeatures();
ProfileController addProfile(String id, ProfileController profileController);
ProfileController removeProfile(String profileId);
ProfileController getProfile(String profileId);
Collection<ProfileController> getProfiles();
}