Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 171C4431FC0 for ; Wed, 1 Jan 2014 07:00:16 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id I59gL82poopI for ; Wed, 1 Jan 2014 07:00:11 -0800 (PST) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id 84D20431FAF for ; Wed, 1 Jan 2014 07:00:10 -0800 (PST) Received: from guru.guru-group.fi (localhost [IPv6:::1]) by guru.guru-group.fi (Postfix) with ESMTP id ED8831000B2; Wed, 1 Jan 2014 17:00:04 +0200 (EET) From: Tomi Ollila To: Jani Nikula , notmuch@notmuchmail.org Subject: Re: [PATCH 2/2] lib: modify notmuch.h for automatic document generation In-Reply-To: <8900d3fb7b01b8b97f35deb8030affea32d50fe9.1385826040.git.jani@nikula.org> References: <8900d3fb7b01b8b97f35deb8030affea32d50fe9.1385826040.git.jani@nikula.org> User-Agent: Notmuch/0.17+13~gdfcf116 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-unknown-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jan 2014 15:00:16 -0000 On Sat, Nov 30 2013, Jani Nikula wrote: > Minimal changes to produce a sensible result. > --- Looks good but does not apply anymore (blame Austin) Also the doxygen -s -g (+ edits) looks good ;D Tomi > lib/notmuch.h | 436 +++++++++++++++++++++++++++++++++++++++------------------- > 1 file changed, 296 insertions(+), 140 deletions(-) > > diff --git a/lib/notmuch.h b/lib/notmuch.h > index 7c3a30c..708b603 100644 > --- a/lib/notmuch.h > +++ b/lib/notmuch.h > @@ -18,9 +18,19 @@ > * Author: Carl Worth > */ > > +/** > + * @defgroup notmuch The notmuch API > + * > + * Not much of an email library, (just index and search) > + * > + * @{ > + */ > + > #ifndef NOTMUCH_H > #define NOTMUCH_H > > +#ifndef __DOXYGEN__ > + > #ifdef __cplusplus > # define NOTMUCH_BEGIN_DECLS extern "C" { > # define NOTMUCH_END_DECLS } > @@ -45,18 +55,20 @@ NOTMUCH_BEGIN_DECLS > #define NOTMUCH_MINOR_VERSION 17 > #define NOTMUCH_MICRO_VERSION 0 > > -/* > +#endif /* __DOXYGEN__ */ > + > +/** > * Check the version of the notmuch library being compiled against. > * > * Return true if the library being compiled against is of the > * specified version or above. For example: > * > - * #if NOTMUCH_CHECK_VERSION(0, 18, 0) > + * \#if NOTMUCH_CHECK_VERSION(0, 18, 0) > * (code requiring notmuch 0.18 or above) > - * #endif > + * \#endif > * > * NOTMUCH_CHECK_VERSION has been defined since version 0.17.0; you > - * can use #if !defined(NOTMUCH_CHECK_VERSION) to check for versions > + * can use \#if !defined(NOTMUCH_CHECK_VERSION) to check for versions > * prior to that. > */ > #define NOTMUCH_CHECK_VERSION (major, minor, micro) \ > @@ -65,80 +77,97 @@ NOTMUCH_BEGIN_DECLS > (NOTMUCH_MAJOR_VERSION == (major) && NOTMUCH_MINOR_VERSION == (minor) && \ > NOTMUCH_MICRO_VERSION >= (micro))) > > +/** > + * Notmuch boolean type. > + */ > typedef int notmuch_bool_t; > > -/* Status codes used for the return values of most functions. > +/** > + * Status codes used for the return values of most functions. > * > * A zero value (NOTMUCH_STATUS_SUCCESS) indicates that the function > - * completed without error. Any other value indicates an error as > - * follows: > - * > - * NOTMUCH_STATUS_SUCCESS: No error occurred. > - * > - * NOTMUCH_STATUS_OUT_OF_MEMORY: Out of memory > - * > - * XXX: We don't really want to expose this lame XAPIAN_EXCEPTION > - * value. Instead we should map to things like DATABASE_LOCKED or > - * whatever. > - * > - * NOTMUCH_STATUS_READ_ONLY_DATABASE: An attempt was made to write to > - * a database opened in read-only mode. > + * completed without error. Any other value indicates an error. > * > - * NOTMUCH_STATUS_XAPIAN_EXCEPTION: A Xapian exception occurred > - * > - * NOTMUCH_STATUS_FILE_ERROR: An error occurred trying to read or > - * write to a file (this could be file not found, permission > - * denied, etc.) > - * > - * NOTMUCH_STATUS_FILE_NOT_EMAIL: A file was presented that doesn't > - * appear to be an email message. > - * > - * NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID: A file contains a message ID > - * that is identical to a message already in the database. > - * > - * NOTMUCH_STATUS_NULL_POINTER: The user erroneously passed a NULL > - * pointer to a notmuch function. > - * > - * NOTMUCH_STATUS_TAG_TOO_LONG: A tag value is too long (exceeds > - * NOTMUCH_TAG_MAX) > - * > - * NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW: The notmuch_message_thaw > - * function has been called more times than notmuch_message_freeze. > - * > - * NOTMUCH_STATUS_UNBALANCED_ATOMIC: notmuch_database_end_atomic has > - * been called more times than notmuch_database_begin_atomic. > - * > - * And finally: > - * > - * NOTMUCH_STATUS_LAST_STATUS: Not an actual status value. Just a way > - * to find out how many valid status values there are. > */ > typedef enum _notmuch_status { > + /** > + * No error occurred. > + */ > NOTMUCH_STATUS_SUCCESS = 0, > + /** > + * Out of memory. > + */ > NOTMUCH_STATUS_OUT_OF_MEMORY, > + /** > + * An attempt was made to write to a database opened in read-only > + * mode. > + */ > NOTMUCH_STATUS_READ_ONLY_DATABASE, > + /** > + * A Xapian exception occurred. > + */ > NOTMUCH_STATUS_XAPIAN_EXCEPTION, > + /** > + * An error occurred trying to read or write to a file (this could > + * be file not found, permission denied, etc.) > + * > + * @todo We don't really want to expose this lame XAPIAN_EXCEPTION > + * value. Instead we should map to things like DATABASE_LOCKED or > + * whatever. > + */ > NOTMUCH_STATUS_FILE_ERROR, > + /** > + * A file was presented that doesn't appear to be an email > + * message. > + */ > NOTMUCH_STATUS_FILE_NOT_EMAIL, > + /** > + * A file contains a message ID that is identical to a message > + * already in the database. > + */ > NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID, > + /** > + * The user erroneously passed a NULL pointer to a notmuch > + * function. > + */ > NOTMUCH_STATUS_NULL_POINTER, > + /** > + * A tag value is too long (exceeds NOTMUCH_TAG_MAX). > + */ > NOTMUCH_STATUS_TAG_TOO_LONG, > + /** > + * The notmuch_message_thaw function has been called more times > + * than notmuch_message_freeze. > + */ > NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW, > + /** > + * notmuch_database_end_atomic has been called more times than > + * notmuch_database_begin_atomic. > + */ > NOTMUCH_STATUS_UNBALANCED_ATOMIC, > + /** > + * The operation is not supported. > + */ > NOTMUCH_STATUS_UNSUPPORTED_OPERATION, > - > + /** > + * Not an actual status value. Just a way to find out how many > + * valid status values there are. > + */ > NOTMUCH_STATUS_LAST_STATUS > } notmuch_status_t; > > -/* Get a string representation of a notmuch_status_t value. > +/** > + * Get a string representation of a notmuch_status_t value. > * > * The result is read-only. > */ > const char * > notmuch_status_to_string (notmuch_status_t status); > > + > /* Various opaque data types. For each notmuch__t see the various > * notmuch_ functions below. */ > +#ifndef __DOXYGEN__ > typedef struct _notmuch_database notmuch_database_t; > typedef struct _notmuch_query notmuch_query_t; > typedef struct _notmuch_threads notmuch_threads_t; > @@ -148,8 +177,10 @@ typedef struct _notmuch_message notmuch_message_t; > typedef struct _notmuch_tags notmuch_tags_t; > typedef struct _notmuch_directory notmuch_directory_t; > typedef struct _notmuch_filenames notmuch_filenames_t; > +#endif /* __DOXYGEN__ */ > > -/* Create a new, empty notmuch database located at 'path'. > +/** > + * Create a new, empty notmuch database located at 'path'. > * > * The path should be a top-level directory to a collection of > * plain-text email messages (one message per file). This call will > @@ -185,12 +216,22 @@ typedef struct _notmuch_filenames notmuch_filenames_t; > notmuch_status_t > notmuch_database_create (const char *path, notmuch_database_t **database); > > +/** > + * Database open mode for notmuch_database_open. > + */ > typedef enum { > + /** > + * Open database for reading only. > + */ > NOTMUCH_DATABASE_MODE_READ_ONLY = 0, > + /** > + * Open database for reading and writing. > + */ > NOTMUCH_DATABASE_MODE_READ_WRITE > } notmuch_database_mode_t; > > -/* Open an existing notmuch database located at 'path'. > +/** > + * Open an existing notmuch database located at 'path'. > * > * The database should have been created at some time in the past, > * (not necessarily by this process), by calling > @@ -226,7 +267,8 @@ notmuch_database_open (const char *path, > notmuch_database_mode_t mode, > notmuch_database_t **database); > > -/* Close the given notmuch database. > +/** > + * Close the given notmuch database. > * > * After notmuch_database_close has been called, calls to other > * functions on objects derived from this database may either behave > @@ -240,12 +282,14 @@ notmuch_database_open (const char *path, > void > notmuch_database_close (notmuch_database_t *database); > > -/* A callback invoked by notmuch_database_compact to notify the user > +/** > + * A callback invoked by notmuch_database_compact to notify the user > * of the progress of the compaction process. > */ > typedef void (*notmuch_compact_status_cb_t)(const char *message, void *closure); > > -/* Compact a notmuch database, backing up the original database to the > +/** > + * Compact a notmuch database, backing up the original database to the > * given path. > * > * The database will be opened with NOTMUCH_DATABASE_MODE_READ_WRITE > @@ -261,33 +305,41 @@ notmuch_database_compact (const char* path, > notmuch_compact_status_cb_t status_cb, > void *closure); > > -/* Destroy the notmuch database, closing it if necessary and freeing > +/** > + * Destroy the notmuch database, closing it if necessary and freeing > * all associated resources. > */ > void > notmuch_database_destroy (notmuch_database_t *database); > > -/* Return the database path of the given database. > +/** > + * Return the database path of the given database. > * > * The return value is a string owned by notmuch so should not be > - * modified nor freed by the caller. */ > + * modified nor freed by the caller. > + */ > const char * > notmuch_database_get_path (notmuch_database_t *database); > > -/* Return the database format version of the given database. */ > +/** > + * Return the database format version of the given database. > + */ > unsigned int > notmuch_database_get_version (notmuch_database_t *database); > > -/* Does this database need to be upgraded before writing to it? > +/** > + * Does this database need to be upgraded before writing to it? > * > * If this function returns TRUE then no functions that modify the > * database (notmuch_database_add_message, notmuch_message_add_tag, > * notmuch_directory_set_mtime, etc.) will work unless the function > - * notmuch_database_upgrade is called successfully first. */ > + * notmuch_database_upgrade is called successfully first. > + */ > notmuch_bool_t > notmuch_database_needs_upgrade (notmuch_database_t *database); > > -/* Upgrade the current database. > +/** > + * Upgrade the current database. > * > * After opening a database in read-write mode, the client should > * check if an upgrade is needed (notmuch_database_needs_upgrade) and > @@ -306,7 +358,8 @@ notmuch_database_upgrade (notmuch_database_t *database, > double progress), > void *closure); > > -/* Begin an atomic database operation. > +/** > + * Begin an atomic database operation. > * > * Any modifications performed between a successful begin and a > * notmuch_database_end_atomic will be applied to the database > @@ -327,7 +380,8 @@ notmuch_database_upgrade (notmuch_database_t *database, > notmuch_status_t > notmuch_database_begin_atomic (notmuch_database_t *notmuch); > > -/* Indicate the end of an atomic database operation. > +/** > + * Indicate the end of an atomic database operation. > * > * Return value: > * > @@ -342,7 +396,8 @@ notmuch_database_begin_atomic (notmuch_database_t *notmuch); > notmuch_status_t > notmuch_database_end_atomic (notmuch_database_t *notmuch); > > -/* Retrieve a directory object from the database for 'path'. > +/** > + * Retrieve a directory object from the database for 'path'. > * > * Here, 'path' should be a path relative to the path of 'database' > * (see notmuch_database_get_path), or else should be an absolute path > @@ -365,7 +420,8 @@ notmuch_database_get_directory (notmuch_database_t *database, > const char *path, > notmuch_directory_t **directory); > > -/* Add a new message to the given notmuch database or associate an > +/** > + * Add a new message to the given notmuch database or associate an > * additional filename with an existing message. > * > * Here, 'filename' should be a path relative to the path of > @@ -416,7 +472,8 @@ notmuch_database_add_message (notmuch_database_t *database, > const char *filename, > notmuch_message_t **message); > > -/* Remove a message filename from the given notmuch database. If the > +/** > + * Remove a message filename from the given notmuch database. If the > * message has no more filenames, remove the message. > * > * If the same message (as determined by the message ID) is still > @@ -444,7 +501,8 @@ notmuch_status_t > notmuch_database_remove_message (notmuch_database_t *database, > const char *filename); > > -/* Find a message with the given message_id. > +/** > + * Find a message with the given message_id. > * > * If a message with the given message_id is found then, on successful return > * (NOTMUCH_STATUS_SUCCESS) '*message' will be initialized to a message > @@ -471,7 +529,8 @@ notmuch_database_find_message (notmuch_database_t *database, > const char *message_id, > notmuch_message_t **message); > > -/* Find a message with the given filename. > +/** > + * Find a message with the given filename. > * > * If the database contains a message with the given filename then, on > * successful return (NOTMUCH_STATUS_SUCCESS) '*message' will be initialized to > @@ -498,7 +557,8 @@ notmuch_database_find_message_by_filename (notmuch_database_t *notmuch, > const char *filename, > notmuch_message_t **message); > > -/* Return a list of all tags found in the database. > +/** > + * Return a list of all tags found in the database. > * > * This function creates a list of all tags found in the database. The > * resulting list contains all tags from all messages found in the database. > @@ -508,7 +568,8 @@ notmuch_database_find_message_by_filename (notmuch_database_t *notmuch, > notmuch_tags_t * > notmuch_database_get_all_tags (notmuch_database_t *db); > > -/* Create a new query for 'database'. > +/** > + * Create a new query for 'database'. > * > * Here, 'database' should be an open database, (see > * notmuch_database_open and notmuch_database_create). > @@ -536,19 +597,36 @@ notmuch_query_t * > notmuch_query_create (notmuch_database_t *database, > const char *query_string); > > -/* Sort values for notmuch_query_set_sort */ > +/** > + * Sort values for notmuch_query_set_sort. > + */ > typedef enum { > + /** > + * Oldest first. > + */ > NOTMUCH_SORT_OLDEST_FIRST, > + /** > + * Newest first. > + */ > NOTMUCH_SORT_NEWEST_FIRST, > + /** > + * Sort by message-id. > + */ > NOTMUCH_SORT_MESSAGE_ID, > + /** > + * Do not sort. > + */ > NOTMUCH_SORT_UNSORTED > } notmuch_sort_t; > > -/* Return the query_string of this query. See notmuch_query_create. */ > +/** > + * Return the query_string of this query. See notmuch_query_create. > + */ > const char * > notmuch_query_get_query_string (notmuch_query_t *query); > > -/* Exclude values for notmuch_query_set_omit_excluded. The strange > +/** > + * Exclude values for notmuch_query_set_omit_excluded. The strange > * order is to maintain backward compatibility: the old FALSE/TRUE > * options correspond to the new > * NOTMUCH_EXCLUDE_FLAG/NOTMUCH_EXCLUDE_TRUE options. > @@ -560,7 +638,8 @@ typedef enum { > NOTMUCH_EXCLUDE_ALL > } notmuch_exclude_t; > > -/* Specify whether to omit excluded results or simply flag them. By > +/** > + * Specify whether to omit excluded results or simply flag them. By > * default, this is set to TRUE. > * > * If set to TRUE or ALL, notmuch_query_search_messages will omit excluded > @@ -590,21 +669,29 @@ void > notmuch_query_set_omit_excluded (notmuch_query_t *query, > notmuch_exclude_t omit_excluded); > > -/* Specify the sorting desired for this 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. */ > +/** > + * Return the sort specified for this query. See > + * notmuch_query_set_sort. > + */ > notmuch_sort_t > notmuch_query_get_sort (notmuch_query_t *query); > > -/* Add a tag that will be excluded from the query results by default. > +/** > + * Add a tag that will be excluded from the query results by default. > * This exclusion will be overridden if this tag appears explicitly in > - * the query. */ > + * the query. > + */ > void > notmuch_query_add_tag_exclude (notmuch_query_t *query, const char *tag); > > -/* Execute a query for threads, returning a notmuch_threads_t object > +/** > + * 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. > @@ -645,7 +732,8 @@ notmuch_query_add_tag_exclude (notmuch_query_t *query, const char *tag); > notmuch_threads_t * > notmuch_query_search_threads (notmuch_query_t *query); > > -/* Execute a query for messages, returning a notmuch_messages_t object > +/** > + * 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. > @@ -686,7 +774,8 @@ notmuch_query_search_threads (notmuch_query_t *query); > notmuch_messages_t * > notmuch_query_search_messages (notmuch_query_t *query); > > -/* Destroy a notmuch_query_t along with any associated resources. > +/** > + * Destroy a notmuch_query_t along with any associated resources. > * > * This will in turn destroy any notmuch_threads_t and > * notmuch_messages_t objects generated by this query, (and in > @@ -697,7 +786,8 @@ notmuch_query_search_messages (notmuch_query_t *query); > void > notmuch_query_destroy (notmuch_query_t *query); > > -/* Is the given 'threads' iterator pointing at a valid thread. > +/** > + * Is the given 'threads' iterator pointing at a valid thread. > * > * When this function returns TRUE, notmuch_threads_get will return a > * valid object. Whereas when this function returns FALSE, > @@ -709,7 +799,8 @@ notmuch_query_destroy (notmuch_query_t *query); > notmuch_bool_t > notmuch_threads_valid (notmuch_threads_t *threads); > > -/* Get the current thread from 'threads' as a notmuch_thread_t. > +/** > + * Get the current thread from 'threads' as a notmuch_thread_t. > * > * Note: The returned thread belongs to 'threads' and has a lifetime > * identical to it (and the query to which it belongs). > @@ -723,7 +814,8 @@ notmuch_threads_valid (notmuch_threads_t *threads); > notmuch_thread_t * > notmuch_threads_get (notmuch_threads_t *threads); > > -/* Move the 'threads' iterator to the next thread. > +/** > + * Move the 'threads' iterator to the next thread. > * > * If 'threads' is already pointing at the last thread then the > * iterator will be moved to a point just beyond that last thread, > @@ -736,7 +828,8 @@ notmuch_threads_get (notmuch_threads_t *threads); > void > notmuch_threads_move_to_next (notmuch_threads_t *threads); > > -/* Destroy a notmuch_threads_t object. > +/** > + * Destroy a notmuch_threads_t object. > * > * It's not strictly necessary to call this function. All memory from > * the notmuch_threads_t object will be reclaimed when the > @@ -745,7 +838,8 @@ notmuch_threads_move_to_next (notmuch_threads_t *threads); > void > notmuch_threads_destroy (notmuch_threads_t *threads); > > -/* Return an estimate of the number of messages matching a search > +/** > + * Return an estimate of the number of messages matching a search. > * > * This function performs a search and returns Xapian's best > * guess as to number of matching messages. > @@ -755,8 +849,9 @@ notmuch_threads_destroy (notmuch_threads_t *threads); > */ > unsigned > notmuch_query_count_messages (notmuch_query_t *query); > - > -/* Return the number of threads matching a search. > + > +/** > + * Return the number of threads matching a search. > * > * This function performs a search and returns the number of unique thread IDs > * in the matching messages. This is the same as number of threads matching a > @@ -770,7 +865,8 @@ notmuch_query_count_messages (notmuch_query_t *query); > unsigned > notmuch_query_count_threads (notmuch_query_t *query); > > -/* Get the thread ID of 'thread'. > +/** > + * Get the thread ID of 'thread'. > * > * The returned string belongs to 'thread' and as such, should not be > * modified by the caller and will only be valid for as long as the > @@ -780,7 +876,8 @@ notmuch_query_count_threads (notmuch_query_t *query); > const char * > notmuch_thread_get_thread_id (notmuch_thread_t *thread); > > -/* Get the total number of messages in 'thread'. > +/** > + * Get the total number of messages in 'thread'. > * > * This count consists of all messages in the database belonging to > * this thread. Contrast with notmuch_thread_get_matched_messages() . > @@ -788,7 +885,8 @@ notmuch_thread_get_thread_id (notmuch_thread_t *thread); > int > notmuch_thread_get_total_messages (notmuch_thread_t *thread); > > -/* Get a notmuch_messages_t iterator for the top-level messages in > +/** > + * Get a notmuch_messages_t iterator for the top-level messages in > * 'thread' in oldest-first order. > * > * This iterator will not necessarily iterate over all of the messages > @@ -800,7 +898,8 @@ notmuch_thread_get_total_messages (notmuch_thread_t *thread); > notmuch_messages_t * > notmuch_thread_get_toplevel_messages (notmuch_thread_t *thread); > > -/* Get a notmuch_thread_t iterator for all messages in 'thread' in > +/** > + * Get a notmuch_thread_t iterator for all messages in 'thread' in > * oldest-first order. > * > * The returned list will be destroyed when the thread is destroyed. > @@ -808,7 +907,8 @@ notmuch_thread_get_toplevel_messages (notmuch_thread_t *thread); > notmuch_messages_t * > notmuch_thread_get_messages (notmuch_thread_t *thread); > > -/* Get the number of messages in 'thread' that matched the search. > +/** > + * Get the number of messages in 'thread' that matched the search. > * > * This count includes only the messages in this thread that were > * matched by the search from which the thread was created and were > @@ -819,7 +919,8 @@ notmuch_thread_get_messages (notmuch_thread_t *thread); > int > notmuch_thread_get_matched_messages (notmuch_thread_t *thread); > > -/* Get the authors of 'thread' as a UTF-8 string. > +/** > + * Get the authors of 'thread' as a UTF-8 string. > * > * The returned string is a comma-separated list of the names of the > * authors of mail messages in the query results that belong to this > @@ -833,7 +934,8 @@ notmuch_thread_get_matched_messages (notmuch_thread_t *thread); > const char * > notmuch_thread_get_authors (notmuch_thread_t *thread); > > -/* Get the subject of 'thread' as a UTF-8 string. > +/** > + * Get the subject of 'thread' as a UTF-8 string. > * > * The subject is taken from the first message (according to the query > * order---see notmuch_query_set_sort) in the query results that > @@ -847,17 +949,20 @@ notmuch_thread_get_authors (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. > +/** > + * 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 newest message in 'thread' as a time_t value. > +/** > + * Get the date of the newest 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 > +/** > + * Get the tags for 'thread', returning a notmuch_tags_t object which > * can be used to iterate over all tags. > * > * Note: In the Notmuch database, tags are stored on individual > @@ -896,11 +1001,14 @@ notmuch_thread_get_newest_date (notmuch_thread_t *thread); > notmuch_tags_t * > notmuch_thread_get_tags (notmuch_thread_t *thread); > > -/* Destroy a notmuch_thread_t object. */ > +/** > + * Destroy a notmuch_thread_t object. > + */ > void > notmuch_thread_destroy (notmuch_thread_t *thread); > > -/* Is the given 'messages' iterator pointing at a valid message. > +/** > + * Is the given 'messages' iterator pointing at a valid message. > * > * When this function returns TRUE, notmuch_messages_get will return a > * valid object. Whereas when this function returns FALSE, > @@ -912,7 +1020,8 @@ notmuch_thread_destroy (notmuch_thread_t *thread); > notmuch_bool_t > notmuch_messages_valid (notmuch_messages_t *messages); > > -/* Get the current message from 'messages' as a notmuch_message_t. > +/** > + * Get the current message from 'messages' as a notmuch_message_t. > * > * Note: The returned message belongs to 'messages' and has a lifetime > * identical to it (and the query to which it belongs). > @@ -926,7 +1035,8 @@ notmuch_messages_valid (notmuch_messages_t *messages); > notmuch_message_t * > notmuch_messages_get (notmuch_messages_t *messages); > > -/* Move the 'messages' iterator to the next message. > +/** > + * Move the 'messages' iterator to the next message. > * > * If 'messages' is already pointing at the last message then the > * iterator will be moved to a point just beyond that last message, > @@ -939,7 +1049,8 @@ notmuch_messages_get (notmuch_messages_t *messages); > void > notmuch_messages_move_to_next (notmuch_messages_t *messages); > > -/* Destroy a notmuch_messages_t object. > +/** > + * Destroy a notmuch_messages_t object. > * > * It's not strictly necessary to call this function. All memory from > * the notmuch_messages_t object will be reclaimed when the containing > @@ -948,7 +1059,8 @@ notmuch_messages_move_to_next (notmuch_messages_t *messages); > void > notmuch_messages_destroy (notmuch_messages_t *messages); > > -/* Return a list of tags from all messages. > +/** > + * Return a list of tags from all messages. > * > * The resulting list is guaranteed not to contain duplicated tags. > * > @@ -963,7 +1075,8 @@ notmuch_messages_destroy (notmuch_messages_t *messages); > notmuch_tags_t * > notmuch_messages_collect_tags (notmuch_messages_t *messages); > > -/* Get the message ID of 'message'. > +/** > + * Get the message ID of 'message'. > * > * The returned string belongs to 'message' and as such, should not be > * modified by the caller and will only be valid for as long as the > @@ -977,7 +1090,8 @@ notmuch_messages_collect_tags (notmuch_messages_t *messages); > const char * > notmuch_message_get_message_id (notmuch_message_t *message); > > -/* Get the thread ID of 'message'. > +/** > + * Get the thread ID of 'message'. > * > * The returned string belongs to 'message' and as such, should not be > * modified by the caller and will only be valid for as long as the > @@ -991,7 +1105,8 @@ notmuch_message_get_message_id (notmuch_message_t *message); > const char * > notmuch_message_get_thread_id (notmuch_message_t *message); > > -/* Get a notmuch_messages_t iterator for all of the replies to > +/** > + * Get a notmuch_messages_t iterator for all of the replies to > * 'message'. > * > * Note: This call only makes sense if 'message' was ultimately > @@ -1011,7 +1126,8 @@ notmuch_message_get_thread_id (notmuch_message_t *message); > notmuch_messages_t * > notmuch_message_get_replies (notmuch_message_t *message); > > -/* Get a filename for the email corresponding to 'message'. > +/** > + * Get a filename for the email corresponding to 'message'. > * > * The returned filename is an absolute filename, (the initial > * component will match notmuch_database_get_path() ). > @@ -1029,7 +1145,8 @@ notmuch_message_get_replies (notmuch_message_t *message); > const char * > notmuch_message_get_filename (notmuch_message_t *message); > > -/* Get all filenames for the email corresponding to 'message'. > +/** > + * Get all filenames for the email corresponding to 'message'. > * > * Returns a notmuch_filenames_t iterator listing all the filenames > * associated with 'message'. These files may not have identical > @@ -1041,31 +1158,40 @@ notmuch_message_get_filename (notmuch_message_t *message); > notmuch_filenames_t * > notmuch_message_get_filenames (notmuch_message_t *message); > > -/* Message flags */ > +/** > + * Message flags. > + */ > typedef enum _notmuch_message_flag { > NOTMUCH_MESSAGE_FLAG_MATCH, > NOTMUCH_MESSAGE_FLAG_EXCLUDED > } notmuch_message_flag_t; > > -/* Get a value of a flag for the email corresponding to 'message'. */ > +/** > + * Get a value of a flag for the email corresponding to 'message'. > + */ > notmuch_bool_t > notmuch_message_get_flag (notmuch_message_t *message, > notmuch_message_flag_t flag); > > -/* Set a value of a flag for the email corresponding to 'message'. */ > +/** > + * Set a value of a flag for the email corresponding to 'message'. > + */ > void > notmuch_message_set_flag (notmuch_message_t *message, > notmuch_message_flag_t flag, notmuch_bool_t value); > > -/* Get the date of 'message' as a time_t value. > +/** > + * 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". */ > + * "date". > + */ > time_t > notmuch_message_get_date (notmuch_message_t *message); > > -/* Get the value of the specified header from 'message' as a UTF-8 string. > +/** > + * Get the value of the specified header from 'message' as a UTF-8 string. > * > * Common headers are stored in the database when the message is > * indexed and will be returned from the database. Other headers will > @@ -1083,7 +1209,8 @@ notmuch_message_get_date (notmuch_message_t *message); > const char * > notmuch_message_get_header (notmuch_message_t *message, const char *header); > > -/* Get the tags for 'message', returning a notmuch_tags_t object which > +/** > + * Get the tags for 'message', returning a notmuch_tags_t object which > * can be used to iterate over all tags. > * > * The tags object is owned by the message and as such, will only be > @@ -1116,10 +1243,13 @@ notmuch_message_get_header (notmuch_message_t *message, const char *header); > notmuch_tags_t * > notmuch_message_get_tags (notmuch_message_t *message); > > -/* The longest possible tag value. */ > +/** > + * The longest possible tag value. > + */ > #define NOTMUCH_TAG_MAX 200 > > -/* Add a tag to the given message. > +/** > + * Add a tag to the given message. > * > * Return value: > * > @@ -1136,7 +1266,8 @@ notmuch_message_get_tags (notmuch_message_t *message); > notmuch_status_t > notmuch_message_add_tag (notmuch_message_t *message, const char *tag); > > -/* Remove a tag from the given message. > +/** > + * Remove a tag from the given message. > * > * Return value: > * > @@ -1153,7 +1284,8 @@ notmuch_message_add_tag (notmuch_message_t *message, const char *tag); > notmuch_status_t > notmuch_message_remove_tag (notmuch_message_t *message, const char *tag); > > -/* Remove all tags from the given message. > +/** > + * Remove all tags from the given message. > * > * See notmuch_message_freeze for an example showing how to safely > * replace tag values. > @@ -1164,7 +1296,8 @@ notmuch_message_remove_tag (notmuch_message_t *message, const char *tag); > notmuch_status_t > notmuch_message_remove_all_tags (notmuch_message_t *message); > > -/* Add/remove tags according to maildir flags in the message filename(s) > +/** > + * Add/remove tags according to maildir flags in the message filename(s). > * > * This function examines the filenames of 'message' for maildir > * flags, and adds or removes tags on 'message' as follows when these > @@ -1198,7 +1331,8 @@ notmuch_message_remove_all_tags (notmuch_message_t *message); > notmuch_status_t > notmuch_message_maildir_flags_to_tags (notmuch_message_t *message); > > -/* Rename message filename(s) to encode tags as maildir flags > +/** > + * Rename message filename(s) to encode tags as maildir flags. > * > * Specifically, for each filename corresponding to this message: > * > @@ -1234,7 +1368,8 @@ notmuch_message_maildir_flags_to_tags (notmuch_message_t *message); > notmuch_status_t > notmuch_message_tags_to_maildir_flags (notmuch_message_t *message); > > -/* Freeze the current state of 'message' within the database. > +/** > + * Freeze the current state of 'message' within the database. > * > * This means that changes to the message state, (via > * notmuch_message_add_tag, notmuch_message_remove_tag, and > @@ -1277,7 +1412,8 @@ notmuch_message_tags_to_maildir_flags (notmuch_message_t *message); > notmuch_status_t > notmuch_message_freeze (notmuch_message_t *message); > > -/* Thaw the current 'message', synchronizing any changes that may have > +/** > + * Thaw the current 'message', synchronizing any changes that may have > * occurred while 'message' was frozen into the notmuch database. > * > * See notmuch_message_freeze for an example of how to use this > @@ -1300,7 +1436,8 @@ notmuch_message_freeze (notmuch_message_t *message); > notmuch_status_t > notmuch_message_thaw (notmuch_message_t *message); > > -/* Destroy a notmuch_message_t object. > +/** > + * Destroy a notmuch_message_t object. > * > * It can be useful to call this function in the case of a single > * query object with many messages in the result, (such as iterating > @@ -1311,7 +1448,8 @@ notmuch_message_thaw (notmuch_message_t *message); > void > notmuch_message_destroy (notmuch_message_t *message); > > -/* Is the given 'tags' iterator pointing at a valid tag. > +/** > + * Is the given 'tags' iterator pointing at a valid tag. > * > * When this function returns TRUE, notmuch_tags_get will return a > * valid string. Whereas when this function returns FALSE, > @@ -1323,7 +1461,8 @@ notmuch_message_destroy (notmuch_message_t *message); > notmuch_bool_t > notmuch_tags_valid (notmuch_tags_t *tags); > > -/* Get the current tag from 'tags' as a string. > +/** > + * Get the current tag from 'tags' as a string. > * > * Note: The returned string belongs to 'tags' and has a lifetime > * identical to it (and the query to which it ultimately belongs). > @@ -1334,7 +1473,8 @@ notmuch_tags_valid (notmuch_tags_t *tags); > const char * > notmuch_tags_get (notmuch_tags_t *tags); > > -/* Move the 'tags' iterator to the next tag. > +/** > + * Move the 'tags' iterator to the next tag. > * > * If 'tags' is already pointing at the last tag then the iterator > * will be moved to a point just beyond that last tag, (where > @@ -1347,7 +1487,8 @@ notmuch_tags_get (notmuch_tags_t *tags); > void > notmuch_tags_move_to_next (notmuch_tags_t *tags); > > -/* Destroy a notmuch_tags_t object. > +/** > + * Destroy a notmuch_tags_t object. > * > * It's not strictly necessary to call this function. All memory from > * the notmuch_tags_t object will be reclaimed when the containing > @@ -1356,7 +1497,8 @@ notmuch_tags_move_to_next (notmuch_tags_t *tags); > void > notmuch_tags_destroy (notmuch_tags_t *tags); > > -/* Store an mtime within the database for 'directory'. > +/** > + * Store an mtime within the database for 'directory'. > * > * The 'directory' should be an object retrieved from the database > * with notmuch_database_get_directory for a particular path. > @@ -1396,35 +1538,44 @@ notmuch_status_t > notmuch_directory_set_mtime (notmuch_directory_t *directory, > time_t mtime); > > -/* Get the mtime of a directory, (as previously stored with > +/** > + * Get the mtime of a directory, (as previously stored with > * notmuch_directory_set_mtime). > * > * Returns 0 if no mtime has previously been stored for this > - * directory.*/ > + * directory. > + */ > time_t > notmuch_directory_get_mtime (notmuch_directory_t *directory); > > -/* Get a notmuch_filenames_t iterator listing all the filenames of > +/** > + * Get a notmuch_filenames_t iterator listing all the filenames of > * messages in the database within the given directory. > * > * The returned filenames will be the basename-entries only (not > - * complete paths). */ > + * complete paths). > + */ > notmuch_filenames_t * > notmuch_directory_get_child_files (notmuch_directory_t *directory); > > -/* Get a notmuch_filenams_t iterator listing all the filenames of > +/** > + * Get a notmuch_filenams_t iterator listing all the filenames of > * sub-directories in the database within the given directory. > * > * The returned filenames will be the basename-entries only (not > - * complete paths). */ > + * complete paths). > + */ > notmuch_filenames_t * > notmuch_directory_get_child_directories (notmuch_directory_t *directory); > > -/* Destroy a notmuch_directory_t object. */ > +/** > + * Destroy a notmuch_directory_t object. > + */ > void > notmuch_directory_destroy (notmuch_directory_t *directory); > > -/* Is the given 'filenames' iterator pointing at a valid filename. > +/** > + * Is the given 'filenames' iterator pointing at a valid filename. > * > * When this function returns TRUE, notmuch_filenames_get will return > * a valid string. Whereas when this function returns FALSE, > @@ -1436,7 +1587,8 @@ notmuch_directory_destroy (notmuch_directory_t *directory); > notmuch_bool_t > notmuch_filenames_valid (notmuch_filenames_t *filenames); > > -/* Get the current filename from 'filenames' as a string. > +/** > + * Get the current filename from 'filenames' as a string. > * > * Note: The returned string belongs to 'filenames' and has a lifetime > * identical to it (and the directory to which it ultimately belongs). > @@ -1447,7 +1599,8 @@ notmuch_filenames_valid (notmuch_filenames_t *filenames); > const char * > notmuch_filenames_get (notmuch_filenames_t *filenames); > > -/* Move the 'filenames' iterator to the next filename. > +/** > + * Move the 'filenames' iterator to the next filename. > * > * If 'filenames' is already pointing at the last filename then the > * iterator will be moved to a point just beyond that last filename, > @@ -1460,7 +1613,8 @@ notmuch_filenames_get (notmuch_filenames_t *filenames); > void > notmuch_filenames_move_to_next (notmuch_filenames_t *filenames); > > -/* Destroy a notmuch_filenames_t object. > +/** > + * Destroy a notmuch_filenames_t object. > * > * It's not strictly necessary to call this function. All memory from > * the notmuch_filenames_t object will be reclaimed when the > @@ -1472,6 +1626,8 @@ notmuch_filenames_move_to_next (notmuch_filenames_t *filenames); > void > notmuch_filenames_destroy (notmuch_filenames_t *filenames); > > +/* @} */ > + > NOTMUCH_END_DECLS > > #endif > -- > 1.8.4.2 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch