]> git.notmuchmail.org Git - notmuch/blobdiff - lib/database-private.h
lib: Rework interface for maildir_flags synchronization
[notmuch] / lib / database-private.h
index 5bb6e86c735fd80d53efcc801f4a4697cba5bd31..140b54edf499dea41f00c38a8bb2f00440b16648 100644 (file)
 #ifndef NOTMUCH_DATABASE_PRIVATE_H
 #define NOTMUCH_DATABASE_PRIVATE_H
 
+/* According to WG14/N1124, a C++ implementation won't provide us a
+ * macro like PRIx64 (which gives a printf format string for
+ * formatting a uint64_t as hexadecimal) unless we define
+ * __STDC_FORMAT_MACROS before including inttypes.h. That's annoying,
+ * but there it is.
+ */
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+
 #include "notmuch-private.h"
 
 #include <xapian.h>
 
+#pragma GCC visibility push(hidden)
+
 struct _notmuch_database {
     notmuch_bool_t exception_reported;
 
@@ -34,12 +45,12 @@ struct _notmuch_database {
     notmuch_database_mode_t mode;
     Xapian::Database *xapian_db;
 
+    unsigned int last_doc_id;
     uint64_t last_thread_id;
 
     Xapian::QueryParser *query_parser;
     Xapian::TermGenerator *term_gen;
     Xapian::ValueRangeProcessor *value_range_processor;
-
 };
 
 /* Convert tags from Xapian internal format to notmuch format.
@@ -55,4 +66,6 @@ notmuch_tags_t *
 _notmuch_convert_tags (void *ctx, Xapian::TermIterator &i,
                       Xapian::TermIterator &end);
 
+#pragma GCC visibility pop
+
 #endif