void
notmuch_database_close (notmuch_database_t *database);
+/* Sets whether maildir flags should be synchronized with notmuch
+ * tags. */
+void
+notmuch_database_set_maildir_sync (notmuch_database_t *database,
+ notmuch_bool_t maildir_sync);
+
/* Return the database path of the given database.
*
* The return value is a string owned by notmuch so should not be
* notmuch database will reference the filename, and will not copy the
* entire contents of the file.
*
- * If 'message' is not NULL, then, on successful return '*message'
+ * If 'message' is not NULL, then, on successful return
+ * (NOTMUCH_STATUS_SUCCESS or NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) '*message'
* will be initialized to a message object that can be used for things
* such as adding tags to the just-added message. The user should call
* notmuch_message_destroy when done with the message. On any failure
NOTMUCH_SORT_UNSORTED
} notmuch_sort_t;
+/* Return the query_string of this query. See notmuch_query_create. */
+const char *
+notmuch_query_get_query_string (notmuch_query_t *query);
+
/* Specify the sorting desired for this query. */
void
notmuch_query_set_sort (notmuch_query_t *query, notmuch_sort_t sort);
+/* Return the sort specified for this query. See notmuch_query_set_sort. */
+notmuch_sort_t
+notmuch_query_get_sort (notmuch_query_t *query);
+
/* Execute a query for threads, returning a notmuch_threads_t object
* which can be used to iterate over the results. The returned threads
* object is owned by the query and as such, will only be valid until
/* Message flags */
typedef enum _notmuch_message_flag {
NOTMUCH_MESSAGE_FLAG_MATCH,
+ NOTMUCH_MESSAGE_FLAG_TAGS_INVALID,
} notmuch_message_flag_t;
/* Get a value of a flag for the email corresponding to 'message'. */
notmuch_status_t
notmuch_message_remove_all_tags (notmuch_message_t *message);
+/* Add or remove tags based on the maildir flags in the file name.
+ */
+notmuch_status_t
+notmuch_message_maildir_to_tags (notmuch_message_t *message,
+ const char *filename);
+
/* Freeze the current state of 'message' within the database.
*
* This means that changes to the message state, (via