X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=ovsdb%2Fmonitor.h;h=a5495a431857944c614c3f643e3d610faa5dcffb;hb=71cdf7cd1f6cf4e318083ee7a764b83fbfa66dfd;hp=83dba0d7109a904cb555d1766735e00142b422c3;hpb=6150a75ff8f5a131194e07eab7b94341530a0b67;p=cascardo%2Fovs.git diff --git a/ovsdb/monitor.h b/ovsdb/monitor.h index 83dba0d71..a5495a431 100644 --- a/ovsdb/monitor.h +++ b/ovsdb/monitor.h @@ -19,8 +19,11 @@ struct ovsdb_monitor; struct ovsdb_jsonrpc_monitor; +struct ovsdb_monitor_session_condition; +struct ovsdb_condition; enum ovsdb_monitor_selection { + OJMS_NONE = 0, /* None for this iteration */ OJMS_INITIAL = 1 << 0, /* All rows when monitor is created. */ OJMS_INSERT = 1 << 1, /* New rows. */ OJMS_DELETE = 1 << 2, /* Deleted rows. */ @@ -58,10 +61,12 @@ const char * ovsdb_monitor_add_column(struct ovsdb_monitor *dbmon, enum ovsdb_monitor_selection select, bool monitored); -struct json *ovsdb_monitor_get_update(struct ovsdb_monitor *dbmon, - bool initial, - uint64_t *unflushed_transaction, - enum ovsdb_monitor_version version); +struct json *ovsdb_monitor_get_update( + struct ovsdb_monitor *dbmon, + bool initial, + uint64_t *unflushed_transaction, + const struct ovsdb_monitor_session_condition *condition, + enum ovsdb_monitor_version version); void ovsdb_monitor_table_add_select(struct ovsdb_monitor *dbmon, const struct ovsdb_table *table, @@ -73,4 +78,21 @@ bool ovsdb_monitor_needs_flush(struct ovsdb_monitor *dbmon, void ovsdb_monitor_get_initial(const struct ovsdb_monitor *dbmon); void ovsdb_monitor_get_memory_usage(struct simap *usage); + +struct ovsdb_monitor_session_condition * +ovsdb_monitor_session_condition_create(void); + +void +ovsdb_monitor_session_condition_destroy( + struct ovsdb_monitor_session_condition *condition); +struct ovsdb_error * +ovsdb_monitor_table_condition_create( + struct ovsdb_monitor_session_condition *condition, + const struct ovsdb_table *table, + const struct json *json_cnd); + +void +ovsdb_monitor_condition_bind(struct ovsdb_monitor *dbmon, + struct ovsdb_monitor_session_condition *cond); + #endif