4c0ce4cb4dcc4b44cd21b738e3b9684e3e7f6cc7
[netvirt.git] / ovsdb / src / main / java / org / opendaylight / ovsdb / lib / message / OVSDB.java
1 package org.opendaylight.ovsdb.lib.message;
2
3 import java.util.List;
4
5 import com.google.common.util.concurrent.ListenableFuture;
6
7 import org.opendaylight.controller.sal.core.Node;
8 import org.opendaylight.ovsdb.lib.database.DatabaseSchema;
9 import org.opendaylight.ovsdb.lib.message.operations.OperationResult;
10
11 public interface OVSDB {
12     public static final String REGISTER_CALLBACK_METHOD = "registerCallback";
13
14     public ListenableFuture<DatabaseSchema> get_schema(List<String> db_names);
15
16     public ListenableFuture<List<String>> echo();
17
18     public ListenableFuture<TableUpdates> monitor(MonitorRequestBuilder request);
19
20     public ListenableFuture<List<String>> list_dbs();
21
22     public ListenableFuture<List<OperationResult>> transact(TransactBuilder transact);
23
24     public ListenableFuture<Response> cancel(String id);
25
26     public ListenableFuture<Object> monitor_cancel(Object json_value);
27
28     public ListenableFuture<Object> lock(List<String> id);
29
30     public ListenableFuture<Object> steal(List<String> id);
31
32     public ListenableFuture<Object> unlock(List<String> id);
33
34     public boolean registerCallback(Callback callback);
35
36     public static interface Callback {
37         public void update(Node node, UpdateNotification upadateNotification);
38         public void locked(Node node, Object json_value);
39         // public void echo(Node node, Object json_value);
40     }
41 }