blob: 2c058a792c287193fbbf2364a1c74720ab71c393 [file] [log] [blame]
Umesh Krishnaswamy345ee992012-12-13 20:29:48 -08001package net.floodlightcontroller.core.module;
2
3import java.util.Collection;
4import java.util.Map;
5
6
7public interface IFloodlightModuleContext {
8 /**
9 * Retrieves a casted version of a module from the registry.
10 * @param name The IFloodlightService object type
11 * @return The IFloodlightService
12 * @throws FloodlightModuleException If the module was not found
13 * or a ClassCastException was encountered.
14 */
15 public <T extends IFloodlightService> T getServiceImpl(Class<T> service);
16
17 /**
18 * Returns all loaded services
19 * @return A collection of service classes that have been loaded
20 */
21 public Collection<Class<? extends IFloodlightService>> getAllServices();
22
23 /**
24 * Returns all loaded modules
25 * @return All Floodlight modules that are going to be loaded
26 */
27 public Collection<IFloodlightModule> getAllModules();
28
29 /**
30 * Gets module specific configuration parameters.
31 * @param module The module to get the configuration parameters for
32 * @return A key, value map of the configuration options
33 */
34 public Map<String, String> getConfigParams(IFloodlightModule module);
35}