ovsdb-idl: Transition to better interfaces for reading table columns.
[sliver-openvswitch.git] / lib / ovsdb-idl.h
index 7832e4e..c09ba9b 100644 (file)
@@ -33,6 +33,7 @@
 #include <stdbool.h>
 #include <stdint.h>
 #include "compiler.h"
+#include "ovsdb-types.h"
 
 struct json;
 struct ovsdb_datum;
@@ -59,6 +60,13 @@ const struct ovsdb_idl_row *ovsdb_idl_first_row(
     const struct ovsdb_idl *, const struct ovsdb_idl_table_class *);
 const struct ovsdb_idl_row *ovsdb_idl_next_row(const struct ovsdb_idl_row *);
 
+const struct ovsdb_datum *ovsdb_idl_read(const struct ovsdb_idl_row *,
+                                         const struct ovsdb_idl_column *);
+const struct ovsdb_datum *ovsdb_idl_get(const struct ovsdb_idl_row *,
+                                        const struct ovsdb_idl_column *,
+                                        enum ovsdb_atomic_type key_type,
+                                        enum ovsdb_atomic_type value_type);
+
 enum ovsdb_idl_txn_status {
     TXN_UNCHANGED,              /* Transaction didn't include any changes. */
     TXN_INCOMPLETE,             /* Commit in progress, please wait. */
@@ -90,9 +98,6 @@ int64_t ovsdb_idl_txn_get_increment_new_value(const struct ovsdb_idl_txn *);
 const struct uuid *ovsdb_idl_txn_get_insert_uuid(const struct ovsdb_idl_txn *,
                                                  const struct uuid *);
 
-void ovsdb_idl_txn_read(const struct ovsdb_idl_row *,
-                        const struct ovsdb_idl_column *,
-                        struct ovsdb_datum *);
 void ovsdb_idl_txn_write(const struct ovsdb_idl_row *,
                          const struct ovsdb_idl_column *,
                          struct ovsdb_datum *);