blob: 73e7651892be1e313c9eba6ad84a2f5774a1e5e5 [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 {
12 public ISwitchObject newSwitch(String dpid);
13 public ISwitchObject searchSwitch(String dpid);
14 public ISwitchObject searchActiveSwitch(String dpid);
15 public Iterable<ISwitchObject> getActiveSwitches();
16 public Iterable<ISwitchObject> getAllSwitches();
17 public Iterable<ISwitchObject> getInactiveSwitches();
18 public Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries();
19 public void removeSwitch(ISwitchObject sw);
20
21 public IPortObject newPort(Short portNumber);
22 public IPortObject searchPort(String dpid, short number);
23 public void removePort(IPortObject port);
24
25 public IDeviceObject newDevice();
26 public IDeviceObject searchDevice(String macAddr);
27 public Iterable<IDeviceObject> getDevices();
28 public void removeDevice(IDeviceObject dev);
29
30 public IFlowPath newFlowPath();
31 public IFlowPath searchFlowPath(FlowId flowId);
32 public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry);
33 public Iterable<IFlowPath> getAllFlowPaths();
34 public void removeFlowPath(IFlowPath flowPath);
35
36 public IFlowEntry newFlowEntry();
37 public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId);
38 public Iterable<IFlowEntry> getAllFlowEntries();
39 public void removeFlowEntry(IFlowEntry flowEntry);
40
41 public IDBConnection getDBConnection();
42 public void commit();
43 public void rollback();
44 public void close();
45}