Code

frontend: Added simple 'LOOKUP <type> WHERE <expression>' query.
[sysdb.git] / src / include / frontend / connection.h
index 45d377e10df2ffb9ff28220b9c331f0410e47e0a..4791a5e4523c61f1d76d56f88c113d1c4ae26382 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"
 
@@ -52,6 +53,20 @@ typedef struct {
 } sdb_conn_node_t;
 #define SDB_CONN_NODE(obj) ((sdb_conn_node_t *)(obj))
 
+/*
+ * sdb_connection_enable_logging:
+ * Enable logging of connection-related messages to the current client
+ * connection. After this function has been called all log messages
+ * originating from the thread handling the current client connection will
+ * also be sent to the client.
+ *
+ * Returns:
+ *  - 0 on success
+ *  - a negative value else
+ */
+int
+sdb_connection_enable_logging(void);
+
 /*
  * sdb_connection_accpet:
  * Accept a new connection on the specified file-descriptor 'fd' and return a
@@ -150,6 +165,17 @@ sdb_fe_session_start(sdb_conn_t *conn);
  * store access
  */
 
+/*
+ * sdb_fe_fetch:
+ * Send the named host, serialized as JSON, to the client.
+ *
+ * Returns:
+ *  - 0 on success
+ *  - a negative value else
+ */
+int
+sdb_fe_fetch(sdb_conn_t *conn, const char *name);
+
 /*
  * sdb_fe_list:
  * Send a complete listing of the store, serialized as JSON, to the client.
@@ -161,6 +187,17 @@ sdb_fe_session_start(sdb_conn_t *conn);
 int
 sdb_fe_list(sdb_conn_t *conn);
 
+/*
+ * sdb_fe_lookup:
+ * Send a list of hosts matching 'm', serialized as JSON, to the client.
+ *
+ * Returns:
+ *  - 0 on success
+ *  - a negative value else
+ */
+int
+sdb_fe_lookup(sdb_conn_t *conn, sdb_store_matcher_t *m);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif