blob: b81dbabddcc98bc4e26feeb3d25e7fa32cc2479c [file] [log] [blame]
Jonathan Hartaa380972014-04-03 10:24:46 -07001package net.onrc.onos.core.intent.runtime;
Toshio Koide27ffd412014-02-18 19:15:27 -08002
Pavlin Radoslavove2238bc2014-06-09 18:05:23 -07003import java.util.Collection;
4
Toshio Koide27ffd412014-02-18 19:15:27 -08005import net.floodlightcontroller.core.module.IFloodlightService;
Pavlin Radoslavove2238bc2014-06-09 18:05:23 -07006import net.onrc.onos.api.intent.ApplicationIntent;
Jonathan Hartaa380972014-04-03 10:24:46 -07007import net.onrc.onos.core.intent.IntentMap;
8import net.onrc.onos.core.intent.IntentOperationList;
Toshio Koide27ffd412014-02-18 19:15:27 -08009
Toshio Koided9fa2a82014-02-19 17:35:18 -080010/**
11 * @author Toshio Koide (t-koide@onlab.us)
12 */
Toshio Koide27ffd412014-02-18 19:15:27 -080013public interface IPathCalcRuntimeService extends IFloodlightService {
Pavlin Radoslavove2238bc2014-06-09 18:05:23 -070014 /**
15 * Add Application Intents.
16 *
17 * @param appId the Application ID to use.
18 * @param appIntents the Application Intents to add.
19 * @return true on success, otherwise false.
20 */
21 public boolean addApplicationIntents(
22 final String appId,
23 Collection<ApplicationIntent> appIntents);
24
25 /**
26 * Remove Application Intents.
27 *
28 * @param appId the Application ID to use.
29 * @param intentIds the Application Intent IDs to remove.
30 * @return true on success, otherwise false.
31 */
32 public boolean removeApplicationIntents(final String appId,
33 Collection<String> intentIds);
34
35 /**
36 * Remove all Application Intents.
37 *
38 * @param appId the Application ID to use.
39 * @return true on success, otherwise false.
40 */
41 public boolean removeAllApplicationIntents(final String appId);
42
Ray Milkey269ffb92014-04-03 14:43:30 -070043 public IntentOperationList executeIntentOperations(IntentOperationList list);
44
45 public IntentMap getHighLevelIntents();
46
47 public IntentMap getPathIntents();
48
49 public void purgeIntents();
Toshio Koide27ffd412014-02-18 19:15:27 -080050}