]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.h
Rename message_results/thread_results to messages/threads.
[notmuch] / notmuch.h
index d25f277c87776028411f783b6bec40142d2322d8..230c298e2af0384a6d7fb2f6c621fe997554eb56 100644 (file)
--- a/notmuch.h
+++ b/notmuch.h
@@ -108,9 +108,9 @@ notmuch_status_to_string (notmuch_status_t status);
  * notmuch_<foo> functions below. */
 typedef struct _notmuch_database notmuch_database_t;
 typedef struct _notmuch_query notmuch_query_t;
-typedef struct _notmuch_thread_results notmuch_thread_results_t;
+typedef struct _notmuch_threads notmuch_threads_t;
 typedef struct _notmuch_thread notmuch_thread_t;
-typedef struct _notmuch_message_results notmuch_message_results_t;
+typedef struct _notmuch_messages notmuch_messages_t;
 typedef struct _notmuch_message notmuch_message_t;
 typedef struct _notmuch_tags notmuch_tags_t;
 
@@ -331,24 +331,24 @@ typedef enum {
 void
 notmuch_query_set_sort (notmuch_query_t *query, notmuch_sort_t sort);
 
-/* Execute a query for threads, returning a notmuch_thread_results_t
- * object which can be used to iterate over the results. The results
+/* 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
  * notmuch_query_destroy.
  *
  * Typical usage might be:
  *
  *     notmuch_query_t *query;
- *     notmuch_thread_results_t *results;
+ *     notmuch_threads_t *threads;
  *     notmuch_thread_t *thread;
  *
  *     query = notmuch_query_create (database, query_string);
  *
- *     for (results = notmuch_query_search_threads (query);
- *          notmuch_thread_results_has_more (results);
- *          notmuch_thread_results_advance (results))
+ *     for (threads = notmuch_query_search_threads (query);
+ *          notmuch_threads_has_more (threads);
+ *          notmuch_threads_advance (threads))
  *     {
- *         thread = notmuch_thread_results_get (results);
+ *         thread = notmuch_threads_get (threads);
  *         ....
  *         notmuch_thread_destroy (thread);
  *     }
@@ -363,31 +363,31 @@ notmuch_query_set_sort (notmuch_query_t *query, notmuch_sort_t sort);
  * destroyed.
  *
  * Note that there's no explicit destructor needed for the
- * notmuch_thread_results_t object. (For consistency, we do provide a
- * notmuch_thread_results_destroy function, but there's no good reason
+ * notmuch_threads_t object. (For consistency, we do provide a
+ * notmuch_threads_destroy function, but there's no good reason
  * to call it if the query is about to be destroyed).
  */
-notmuch_thread_results_t *
+notmuch_threads_t *
 notmuch_query_search_threads (notmuch_query_t *query);
 
-/* Execute a query for messages, returning a notmuch_message_results_t
- * object which can be used to iterate over the results. The results
- * object is owned by the query and as such, will only be valid until
- * notmuch_query_destroy.
+/* Execute a query for messages, returning a notmuch_messages_t object
+ * which can be used to iterate over the results. The returned
+ * messages object is owned by the query and as such, will only be
+ * valid until notmuch_query_destroy.
  *
  * Typical usage might be:
  *
  *     notmuch_query_t *query;
- *     notmuch_message_results_t *results;
+ *     notmuch_messages_t *messages;
  *     notmuch_message_t *message;
  *
  *     query = notmuch_query_create (database, query_string);
  *
- *     for (results = notmuch_query_search_messages (query);
- *          notmuch_message_results_has_more (results);
- *          notmuch_message_results_advance (results))
+ *     for (messages = notmuch_query_search_messages (query);
+ *          notmuch_messages_has_more (messages);
+ *          notmuch_messages_advance (messages))
  *     {
- *         message = notmuch_message_results_get (results);
+ *         message = notmuch_messages_get (messages);
  *         ....
  *         notmuch_message_destroy (message);
  *     }
@@ -402,17 +402,17 @@ notmuch_query_search_threads (notmuch_query_t *query);
  * when the query is destroyed.
  *
  * Note that there's no explicit destructor needed for the
- * notmuch_message_results_t object. (For consistency, we do provide a
- * notmuch_message_results_destroy function, but there's no good
+ * notmuch_messages_t object. (For consistency, we do provide a
+ * notmuch_messages_destroy function, but there's no good
  * reason to call it if the query is about to be destroyed).
  */
-notmuch_message_results_t *
+notmuch_messages_t *
 notmuch_query_search_messages (notmuch_query_t *query);
 
 /* Destroy a notmuch_query_t along with any associated resources.
  *
- * This will in turn destroy any notmuch_thread_results_t and
- * notmuch_message_results_t objects generated by this query, (and in
+ * This will in turn destroy any notmuch_threads_t and
+ * notmuch_messages_t objects generated by this query, (and in
  * turn any notmuch_thrad_t and notmuch_message_t objects generated
  * from those results, etc.), if such objects haven't already been
  * destroyed.
@@ -420,49 +420,49 @@ notmuch_query_search_messages (notmuch_query_t *query);
 void
 notmuch_query_destroy (notmuch_query_t *query);
 
-/* Does the given notmuch_thread_results_t object contain any more
+/* Does the given notmuch_threads_t object contain any more
  * results.
  *
- * When this function returns TRUE, notmuch_thread_results_get will
+ * When this function returns TRUE, notmuch_threads_get will
  * return a valid object. Whereas when this function returns FALSE,
- * notmuch_thread_results_get will return NULL.
+ * notmuch_threads_get will return NULL.
  *
  * See the documentation of notmuch_query_search_threads for example
- * code showing how to iterate over a notmuch_thread_results_t object.
+ * code showing how to iterate over a notmuch_threads_t object.
  */
 notmuch_bool_t
-notmuch_thread_results_has_more (notmuch_thread_results_t *results);
+notmuch_threads_has_more (notmuch_threads_t *threads);
 
-/* Get the current result from 'results' as a notmuch_thread_t.
+/* Get the current thread from 'threads' as a notmuch_thread_t.
  *
- * Note: The returned thread belongs to 'results' and has a lifetime
+ * Note: The returned thread belongs to 'threads' and has a lifetime
  * identical to it (and the query to which it belongs).
  *
  * See the documentation of notmuch_query_search_threads for example
- * code showing how to iterate over a notmuch_thread_results_t object.
+ * code showing how to iterate over a notmuch_threads_t object.
  *
  * If an out-of-memory situation occurs, this function will return
  * NULL.
  */
 notmuch_thread_t *
-notmuch_thread_results_get (notmuch_thread_results_t *results);
+notmuch_threads_get (notmuch_threads_t *threads);
 
-/* Advance the 'results' iterator to the next result.
+/* Advance the 'threads' iterator to the next thread.
  *
  * See the documentation of notmuch_query_search_threads for example
- * code showing how to iterate over a notmuch_thread_results_t object.
+ * code showing how to iterate over a notmuch_threads_t object.
  */
 void
-notmuch_thread_results_advance (notmuch_thread_results_t *results);
+notmuch_threads_advance (notmuch_threads_t *threads);
 
-/* Destroy a notmuch_thread_results_t object.
+/* Destroy a notmuch_threads_t object.
  *
  * It's not strictly necessary to call this function. All memory from
- * the notmuch_thread_results_t object will be reclaimed when the
+ * the notmuch_threads_t object will be reclaimed when the
  * containg query object is destroyed.
  */
 void
-notmuch_thread_results_destroy (notmuch_thread_results_t *results);
+notmuch_threads_destroy (notmuch_threads_t *threads);
 
 /* Get the thread ID of 'thread'.
  *
@@ -488,6 +488,16 @@ notmuch_thread_get_thread_id (notmuch_thread_t *thread);
 const char *
 notmuch_thread_get_subject (notmuch_thread_t *thread);
 
+/* Get the date of the oldest message in 'thread' as a time_t value.
+ */
+time_t
+notmuch_thread_get_oldest_date (notmuch_thread_t *thread);
+
+/* Get the date of the oldest message in 'thread' as a time_t value.
+ */
+time_t
+notmuch_thread_get_newest_date (notmuch_thread_t *thread);
+
 /* Get the tags for 'thread', returning a notmuch_tags_t object which
  * can be used to iterate over all tags.
  *
@@ -507,7 +517,7 @@ notmuch_thread_get_subject (notmuch_thread_t *thread);
  *     notmuch_tags_t *tags;
  *     const char *tag;
  *
- *     thread = notmuch_thread_results_get (thread_results);
+ *     thread = notmuch_threads_get (threads);
  *
  *     for (tags = notmuch_thread_get_tags (thread);
  *          notmuch_tags_has_more (tags);
@@ -531,52 +541,49 @@ notmuch_thread_get_tags (notmuch_thread_t *thread);
 void
 notmuch_thread_destroy (notmuch_thread_t *thread);
 
-/* Does the given notmuch_message_results_t object contain any more
- * results.
+/* Does the given notmuch_messages_t object contain any more
+ * messages.
  *
- * When this function returns TRUE, notmuch_message_results_get will
- * return a valid object. Whereas when this function returns FALSE,
- * notmuch_message_results_get will return NULL.
+ * When this function returns TRUE, notmuch_messages_get will return a
+ * valid object. Whereas when this function returns FALSE,
+ * notmuch_messages_get will return NULL.
  *
  * See the documentation of notmuch_query_search_messages for example
- * code showing how to iterate over a notmuch_message_results_t
- * object.
+ * code showing how to iterate over a notmuch_messages_t object.
  */
 notmuch_bool_t
-notmuch_message_results_has_more (notmuch_message_results_t *results);
+notmuch_messages_has_more (notmuch_messages_t *messages);
 
-/* Get the current result from 'results' as a notmuch_message_t.
+/* Get the current message from 'messages' as a notmuch_message_t.
  *
- * Note: The returned message belongs to 'results' and has a lifetime
+ * Note: The returned message belongs to 'messages' and has a lifetime
  * identical to it (and the query to which it belongs).
  *
  * See the documentation of notmuch_query_search_messages for example
- * code showing how to iterate over a notmuch_message_results_t
- * object.
+ * code showing how to iterate over a notmuch_messages_t object.
  *
  * If an out-of-memory situation occurs, this function will return
  * NULL.
  */
 notmuch_message_t *
-notmuch_message_results_get (notmuch_message_results_t *results);
+notmuch_messages_get (notmuch_messages_t *messages);
 
-/* Advance the 'results' iterator to the next result.
+/* Advance the 'messages' iterator to the next result.
  *
  * See the documentation of notmuch_query_search_messages for example
- * code showing how to iterate over a notmuch_message_results_t
- * object.
+ * code showing how to iterate over a notmuch_messages_t object.
  */
 void
-notmuch_message_results_advance (notmuch_message_results_t *results);
+notmuch_messages_advance (notmuch_messages_t *messages);
 
-/* Destroy a notmuch_message_results_t object.
+/* Destroy a notmuch_messages_t object.
  *
  * It's not strictly necessary to call this function. All memory from
- * the notmuch_message_results_t object will be reclaimed when the
- * containg query object is destroyed.
+ * the notmuch_messages_t object will be reclaimed when the containg
+ * query object is destroyed.
  */
 void
-notmuch_message_results_destroy (notmuch_message_results_t *results);
+notmuch_messages_destroy (notmuch_messages_t *messages);
 
 /* Get the message ID of 'message'.
  *
@@ -617,6 +624,14 @@ notmuch_message_get_thread_id (notmuch_message_t *message);
 const char *
 notmuch_message_get_filename (notmuch_message_t *message);
 
+/* Get the date of 'message' as a time_t value.
+ *
+ * For the original textual representation of the Date header from the
+ * message call notmuch_message_get_header() with a header value of
+ * "date". */
+time_t
+notmuch_message_get_date  (notmuch_message_t *message);
+
 /* Get the size in bytes of the full header section of 'message'.
  *
  * This is useful in conjunction with notmuch_message_get_filename