blob: 33d01fb69d0ed9aa45d2128bea747572add860eb [file] [log] [blame]
Pankaj Berde85016ab2013-06-21 11:34:53 -07001package net.onrc.onos.graph;
2
3import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
4import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
5import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
6import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
7import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
8import net.onrc.onos.ofcontroller.util.FlowEntryId;
9import net.onrc.onos.ofcontroller.util.FlowId;
10
11public interface IDBOperation {
Naoki Shiotaf74d5f32014-01-09 21:29:38 -080012 public static final String PORT_ID_DELIM = "@";
13
Pankaj Berde85016ab2013-06-21 11:34:53 -070014 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);
44
45 public IDBConnection getDBConnection();
46 public void commit();
47 public void rollback();
48 public void close();
Naoki Shiotaf74d5f32014-01-09 21:29:38 -080049 Iterable<IPortObject> getAllPorts();
Pankaj Berde85016ab2013-06-21 11:34:53 -070050}