index 308523a4476a1b861ad134e43815d7372088b036..533f4080ec17f049051f19a04b97111d226cfc33 100644 (file)
--- a/src/include/core/store.h
+++ b/src/include/core/store.h
sdb_store_service_attr(const char *hostname, const char *service,
const char *key, const sdb_data_t *value, sdb_time_t last_update);
+/*
+ * sdb_store_get_field:
+ * Get the value of a stored object's queryable field. The caller is
+ * responsible for freeing any dynamically allocated memory possibly stored in
+ * the returned value.
+ *
+ * Note: Retrieving the backend this way is not currently supported.
+ *
+ * Returns:
+ * - 0 on success
+ * - a negative value else
+ */
+int
+sdb_store_get_field(sdb_store_obj_t *obj, int field, sdb_data_t *res);
+
/*
* Expressions specify arithmetic expressions.
*
sdb_store_matcher_parse_cmp(const char *obj_type, const char *attr,
const char *op, sdb_store_expr_t *expr);
+/*
+ * sdb_store_matcher_parse_field_cmp:
+ * Parse a simple compare expression for queryable object fields (<field> <op>
+ * <expression>).
+ *
+ * Returns:
+ * - a matcher object on success
+ * - NULL else
+ */
+sdb_store_matcher_t *
+sdb_store_matcher_parse_field_cmp(const char *name, const char *op,
+ sdb_store_expr_t *expr);
+
/*
* sdb_store_dis_matcher:
* Creates a matcher matching the disjunction (logical OR) of two matchers.