First attempt at a search infrastructure.
[collection4.git] / graph_instance.h
index f167d23..f02901b 100644 (file)
@@ -4,12 +4,8 @@
 /*
  * Data types
  */
-struct graph_instance_s;
-typedef struct graph_instance_s graph_instance_t;
-
-typedef int (*inst_callback) (graph_instance_t *inst, void *user_data);
-
-#include "graph_list.h"
+#include "graph_types.h"
+#include "utils_array.h"
 
 /*
  * Callback types
@@ -37,10 +33,17 @@ graph_ident_t *inst_get_selector (graph_instance_t *inst);
 int inst_append (graph_instance_t *head, graph_instance_t *inst);
 
 int inst_foreach (graph_instance_t *inst,
-               inst_callback cb, void *user_data);
+               inst_callback_t cb, void *user_data);
+
+int inst_search (graph_config_t *cfg, graph_instance_t *inst,
+    const char *term, inst_callback_t cb,
+    void *user_data);
 
 graph_instance_t *inst_find_matching (graph_instance_t *inst,
     const graph_ident_t *ident);
 
+int inst_describe (graph_config_t *cfg, graph_instance_t *inst,
+    char *buffer, size_t buffer_size);
+
 #endif /* GRAPH_INSTANCE_H */
 /* vim: set sw=2 sts=2 et fdm=marker : */