| package net.floodlightcontroller.core.module; |
| |
| import java.util.Collection; |
| import java.util.Map; |
| |
| |
| public interface IFloodlightModuleContext { |
| /** |
| * Retrieves a casted version of a module from the registry. |
| * @param name The IFloodlightService object type |
| * @return The IFloodlightService |
| * @throws FloodlightModuleException If the module was not found |
| * or a ClassCastException was encountered. |
| */ |
| public <T extends IFloodlightService> T getServiceImpl(Class<T> service); |
| |
| /** |
| * Returns all loaded services |
| * @return A collection of service classes that have been loaded |
| */ |
| public Collection<Class<? extends IFloodlightService>> getAllServices(); |
| |
| /** |
| * Returns all loaded modules |
| * @return All Floodlight modules that are going to be loaded |
| */ |
| public Collection<IFloodlightModule> getAllModules(); |
| |
| /** |
| * Gets module specific configuration parameters. |
| * @param module The module to get the configuration parameters for |
| * @return A key, value map of the configuration options |
| */ |
| public Map<String, String> getConfigParams(IFloodlightModule module); |
| } |