blob: a2c60448548574e98d977ef06110e2432939e363 [file] [log] [blame]
Pankaj Berde85016ab2013-06-21 11:34:53 -07001package net.onrc.onos.graph;
2
Toshio Koide3f233542014-01-07 14:19:09 -08003import java.util.Map;
4
Pankaj Berde85016ab2013-06-21 11:34:53 -07005import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
6import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
7import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
8import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
9import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
10import net.onrc.onos.ofcontroller.util.FlowEntryId;
11import net.onrc.onos.ofcontroller.util.FlowId;
12
13public interface IDBOperation {
14 public ISwitchObject newSwitch(String dpid);
15 public ISwitchObject searchSwitch(String dpid);
16 public ISwitchObject searchActiveSwitch(String dpid);
17 public Iterable<ISwitchObject> getActiveSwitches();
18 public Iterable<ISwitchObject> getAllSwitches();
19 public Iterable<ISwitchObject> getInactiveSwitches();
20 public Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries();
21 public void removeSwitch(ISwitchObject sw);
22
Pankaj Berdebbd38612013-06-22 05:59:12 -070023 @Deprecated
Pankaj Berde85016ab2013-06-21 11:34:53 -070024 public IPortObject newPort(Short portNumber);
Pankaj Berdebbd38612013-06-22 05:59:12 -070025 public IPortObject newPort(String dpid, Short portNum);
26 public IPortObject searchPort(String dpid, Short number);
Pankaj Berde85016ab2013-06-21 11:34:53 -070027 public void removePort(IPortObject port);
28
29 public IDeviceObject newDevice();
30 public IDeviceObject searchDevice(String macAddr);
31 public Iterable<IDeviceObject> getDevices();
32 public void removeDevice(IDeviceObject dev);
33
34 public IFlowPath newFlowPath();
35 public IFlowPath searchFlowPath(FlowId flowId);
36 public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry);
37 public Iterable<IFlowPath> getAllFlowPaths();
38 public void removeFlowPath(IFlowPath flowPath);
39
40 public IFlowEntry newFlowEntry();
41 public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId);
42 public Iterable<IFlowEntry> getAllFlowEntries();
43 public void removeFlowEntry(IFlowEntry flowEntry);
Toshio Koide3f233542014-01-07 14:19:09 -080044
45 public void setFlowProperties(IFlowEntry flowEntry, Map<String, Object> map);
46
Pankaj Berde85016ab2013-06-21 11:34:53 -070047 public IDBConnection getDBConnection();
48 public void commit();
49 public void rollback();
50 public void close();
Pankaj Berdebbd38612013-06-22 05:59:12 -070051
Pankaj Berde85016ab2013-06-21 11:34:53 -070052}