# HG changeset patch # User Will Thompson # Date 1200425600 0 # Node ID 392bfb84d372c5c226bdb69db55a1848a2d07144 # Parent 8243222c8c1bd4a50dc1a14d4b8a7ddc4c6f4996 Clarify documentation of purple_account_set_status_list(), and use @copydoc to make purple_account_set_status() have the exact same text (prefixed with a remark about being a vargs version of the former). Do people like this? We have duplicated docs all over the place with vargs and GList/va_list versions of functions, and it seems like we should either use @copydoc for one, or make its doc just read "version of foo_list(), see it for documentation". (Why -do- we have two versions of everything?) diff -r 8243222c8c1b -r 392bfb84d372 libpurple/account.h --- a/libpurple/account.h Tue Jan 15 17:56:16 2008 +0000 +++ b/libpurple/account.h Tue Jan 15 19:33:20 2008 +0000 @@ -410,37 +410,34 @@ void purple_account_set_status_types(PurpleAccount *account, GList *status_types); /** - * Activates or deactivates a status. All changes to the statuses of - * an account go through this function or purple_account_set_status_list. - * - * Only independent statuses can be deactivated with this. To deactivate - * an exclusive status, activate a different (and exclusive?) status. + * Variadic version of purple_account_set_status_list(); the variadic list + * replaces @a attrs, and should be NULL-terminated. * - * @param account The account. - * @param status_id The ID of the status. - * @param active The active state. - * @param ... Pairs of attributes for the new status passed in - * as a NULL-terminated list of id/value pairs. + * @copydoc purple_account_set_status_list() */ void purple_account_set_status(PurpleAccount *account, const char *status_id, - gboolean active, ...) G_GNUC_NULL_TERMINATED; + gboolean active, ...) G_GNUC_NULL_TERMINATED; /** * Activates or deactivates a status. All changes to the statuses of - * an account go through this function or purple_account_set_status. + * an account go through this function or purple_account_set_status(). * - * Only independent statuses can be deactivated with this. To deactivate - * an exclusive status, activate a different (and exclusive?) status. + * You can only deactivate an exclusive status by activating another exclusive + * status. So, if @a status_id is an exclusive status and @a active is @c + * FALSE, this function does nothing. * * @param account The account. * @param status_id The ID of the status. - * @param active The active state. - * @param attrs A list of attributes in key/value pairs + * @param active Whether @a status_id is to be activated (TRUE) or + * deactivated (FALSE). + * @param attrs A list of const char * attribute names followed by + * const char * attribute values for the status. + * (For example, one pair might be "message" followed + * by "hello, talk to me!".) */ void purple_account_set_status_list(PurpleAccount *account, - const char *status_id, - gboolean active, GList *attrs); + const char *status_id, gboolean active, GList *attrs); /** * Clears all protocol-specific settings on an account.