blob: cb67bf8628b51d7df505c27ab9918ea98b5a328e [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
Toshio Koide3fcebc12014-01-09 22:40:11 -08005import com.tinkerpop.blueprints.Vertex;
6
Pankaj Berde85016ab2013-06-21 11:34:53 -07007import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
8import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
9import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
10import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
11import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
12import net.onrc.onos.ofcontroller.util.FlowEntryId;
13import net.onrc.onos.ofcontroller.util.FlowId;
14
15public interface IDBOperation {
16 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);
24
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);
30
31 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
Toshio Koide3fcebc12014-01-09 22:40:11 -080047 public void setVertexProperties(Vertex vertex, Map<String, Object> map);
Toshio Koide3f233542014-01-07 14:19:09 -080048
Pankaj Berde85016ab2013-06-21 11:34:53 -070049 public IDBConnection getDBConnection();
50 public void commit();
51 public void rollback();
52 public void close();
Pankaj Berdebbd38612013-06-22 05:59:12 -070053
Pankaj Berde85016ab2013-06-21 11:34:53 -070054}