Code

frontend: Let FETCH/LIST/LOOKUP implementations accept filters.
[sysdb.git] / src / include / frontend / connection.h
index dc93db6c782ed46ddb03bfae613445dc78815973..30e6509b553e73b910c9d3b120d5b0c98bef42e6 100644 (file)
@@ -29,6 +29,7 @@
 #define SDB_FRONTEND_CONNECTION_H 1
 
 #include "frontend/proto.h"
+#include "core/store.h"
 #include "utils/llist.h"
 #include "utils/strbuf.h"
 
@@ -164,16 +165,45 @@ sdb_fe_session_start(sdb_conn_t *conn);
  * store access
  */
 
+/*
+ * sdb_fe_fetch:
+ * Send the named host, serialized as JSON, to the client. If specified, only
+ * objects matching the filter will be included. See sdb_store_tojson for
+ * details.
+ *
+ * Returns:
+ *  - 0 on success
+ *  - a negative value else
+ */
+int
+sdb_fe_fetch(sdb_conn_t *conn, const char *name, sdb_store_matcher_t *filter);
+
 /*
  * sdb_fe_list:
- * Send a complete listing of the store, serialized as JSON, to the client.
+ * Send a complete listing of the store, serialized as JSON, to the client. If
+ * specified, only objects matching the filter will be included. See
+ * sdb_store_tojson for details.
+ *
+ * Returns:
+ *  - 0 on success
+ *  - a negative value else
+ */
+int
+sdb_fe_list(sdb_conn_t *conn, sdb_store_matcher_t *filter);
+
+/*
+ * sdb_fe_lookup:
+ * Send a list of hosts matching 'm', serialized as JSON, to the client. If
+ * specified, only objects matching the filter will be included. See
+ * sdb_store_tojson for details.
  *
  * Returns:
  *  - 0 on success
  *  - a negative value else
  */
 int
-sdb_fe_list(sdb_conn_t *conn);
+sdb_fe_lookup(sdb_conn_t *conn, sdb_store_matcher_t *m,
+               sdb_store_matcher_t *filter);
 
 #ifdef __cplusplus
 } /* extern "C" */