]> git.notmuchmail.org Git - notmuch/blobdiff - lib/database-private.h
build: build parse-time-string as part of the notmuch lib and static cli
[notmuch] / lib / database-private.h
index bd72f670092b0846501e425de44eb69f91a13869..88532d511a8e395b7c5aa475ad7a403a6722777d 100644 (file)
@@ -34,6 +34,8 @@
 
 #include <xapian.h>
 
+#pragma GCC visibility push(hidden)
+
 struct _notmuch_database {
     notmuch_bool_t exception_reported;
 
@@ -41,6 +43,7 @@ struct _notmuch_database {
 
     notmuch_bool_t needs_upgrade;
     notmuch_database_mode_t mode;
+    int atomic_nesting;
     Xapian::Database *xapian_db;
 
     unsigned int last_doc_id;
@@ -49,20 +52,19 @@ struct _notmuch_database {
     Xapian::QueryParser *query_parser;
     Xapian::TermGenerator *term_gen;
     Xapian::ValueRangeProcessor *value_range_processor;
-
 };
 
-/* Convert tags from Xapian internal format to notmuch format.
- *
- * The function gets a TermIterator as argument and uses that iterator to find
- * all tag terms in the object. The tags are then converted to a
- * notmuch_tags_t list and returned. The function needs to allocate memory for
- * the resulting list and it uses the argument ctx as talloc context.
+/* Return the list of terms from the given iterator matching a prefix.
+ * The prefix will be stripped from the strings in the returned list.
+ * The list will be allocated using ctx as the talloc context.
  *
  * The function returns NULL on failure.
  */
-notmuch_tags_t *
-_notmuch_convert_tags (void *ctx, Xapian::TermIterator &i,
-                      Xapian::TermIterator &end);
+notmuch_string_list_t *
+_notmuch_database_get_terms_with_prefix (void *ctx, Xapian::TermIterator &i,
+                                        Xapian::TermIterator &end,
+                                        const char *prefix);
+
+#pragma GCC visibility pop
 
 #endif