blob: 3ca428474ab67815eddc08b50ccd77e8067f92f0 [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 {
Yuta HIGUCHI2cef9ba2014-01-09 19:33:22 -080014 public static final String PORT_ID_DELIM = "@";
15
Pankaj Berde85016ab2013-06-21 11:34:53 -070016 public ISwitchObject newSwitch(String dpid);
17 public ISwitchObject searchSwitch(String dpid);
18 public ISwitchObject searchActiveSwitch(String dpid);
19 public Iterable<ISwitchObject> getActiveSwitches();
20 public Iterable<ISwitchObject> getAllSwitches();
21 public Iterable<ISwitchObject> getInactiveSwitches();
22 public Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries();
23 public void removeSwitch(ISwitchObject sw);
Yuta HIGUCHI2cef9ba2014-01-09 19:33:22 -080024
Pankaj Berdebbd38612013-06-22 05:59:12 -070025 @Deprecated
Pankaj Berde85016ab2013-06-21 11:34:53 -070026 public IPortObject newPort(Short portNumber);
Pankaj Berdebbd38612013-06-22 05:59:12 -070027 public IPortObject newPort(String dpid, Short portNum);
28 public IPortObject searchPort(String dpid, Short number);
Pankaj Berde85016ab2013-06-21 11:34:53 -070029 public void removePort(IPortObject port);
Yuta HIGUCHI2cef9ba2014-01-09 19:33:22 -080030
Pankaj Berde85016ab2013-06-21 11:34:53 -070031 public IDeviceObject newDevice();
32 public IDeviceObject searchDevice(String macAddr);
33 public Iterable<IDeviceObject> getDevices();
34 public void removeDevice(IDeviceObject dev);
35
36 public IFlowPath newFlowPath();
37 public IFlowPath searchFlowPath(FlowId flowId);
38 public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry);
39 public Iterable<IFlowPath> getAllFlowPaths();
40 public void removeFlowPath(IFlowPath flowPath);
41
42 public IFlowEntry newFlowEntry();
43 public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId);
44 public Iterable<IFlowEntry> getAllFlowEntries();
45 public void removeFlowEntry(IFlowEntry flowEntry);
Toshio Koide3f233542014-01-07 14:19:09 -080046
47 public void setFlowProperties(IFlowEntry flowEntry, Map<String, Object> map);
48
Yuta HIGUCHI2cef9ba2014-01-09 19:33:22 -080049 public IDBConnection getDBConnection();
Pankaj Berde85016ab2013-06-21 11:34:53 -070050 public void commit();
51 public void rollback();
52 public void close();
Yuta HIGUCHI2cef9ba2014-01-09 19:33:22 -080053
54 public Iterable<IPortObject> getAllPorts();
Pankaj Berde85016ab2013-06-21 11:34:53 -070055}