/pidgin/main: 421e7b2020eb: Add more documentation for PurpleAcc...

dx dx at dxzone.com.ar
Fri Jun 17 00:52:08 EDT 2016


Changeset: 421e7b2020eb45e194ba63023e5b7bb9408499f3
Author:	 dx <dx at dxzone.com.ar>
Date:	 2016-06-17 01:37 -0300
Branch:	 release-2.x.y
URL: https://hg.pidgin.im/pidgin/main/rev/421e7b2020eb

Description:

Add more documentation for PurpleAccountPrefsUiOps and PurplePrefsUiOps

And all those `@since`

diffstat:

 libpurple/account.h |  20 ++++++++++++++++++++
 libpurple/prefs.h   |  34 +++++++++++++++++++++++++++++++++-
 2 files changed, 53 insertions(+), 1 deletions(-)

diffs (133 lines):

diff --git a/libpurple/account.h b/libpurple/account.h
--- a/libpurple/account.h
+++ b/libpurple/account.h
@@ -129,15 +129,33 @@ struct _PurpleAccountUiOps
  *   it must set them to the account on load and handle changes with set_
  *   methods. Implementing load/save/schedule_save disables the built-in
  *   accounts.xml code.
+ *
+ *   @since 2.11.0
  */
 struct _PurpleAccountPrefsUiOps
 {
+	/** Notifies the UI that an integer account setting was set. */
 	void (*set_int)(PurpleAccount *account, const char *name, int value);
+
+	/** Notifies the UI that a string account setting was set. */
 	void (*set_string)(PurpleAccount *account, const char *name, const char *value);
+
+	/** Notifies the UI that a boolean account setting was set. */
 	void (*set_bool)(PurpleAccount *account, const char *name, gboolean value);
 
+	/** If this is set, accounts.xml loading will be disabled and this
+	 *  function will be called instead.
+	 */
 	void (*load)(void);
+
+	/** If this is set, accounts.xml saving will be disabled and this
+	 *  function will be called instead.
+	 */
 	void (*save)(void);
+
+	/** If this is set, the UI will handle scheduling the timer to call the
+	 *  save function, overriding the default timeout of 5 seconds.
+	 */
 	void (*schedule_save)(void);
 
 	void (*_purple_reserved1)(void);
@@ -1189,6 +1207,7 @@ PurpleAccountUiOps *purple_accounts_get_
  * Sets the UI operations structure to be used for account preferences.
  *
  * @param ops The UI operations structure.
+ * @since 2.11.0
  */
 void purple_account_prefs_set_ui_ops(PurpleAccountPrefsUiOps *ops);
 
@@ -1196,6 +1215,7 @@ void purple_account_prefs_set_ui_ops(Pur
  * Returns the UI operations structure used for account preferences.
  *
  * @return The UI operations structure in use.
+ * @since 2.11.0
  */
 PurpleAccountPrefsUiOps *purple_account_prefs_get_ui_ops(void);
 
diff --git a/libpurple/prefs.h b/libpurple/prefs.h
--- a/libpurple/prefs.h
+++ b/libpurple/prefs.h
@@ -64,6 +64,8 @@ typedef void (*PurplePrefCallback) (cons
 
 /**
  * Opaque type to carry callback information
+ *
+ * @since 2.11.0
  */
 typedef struct _PurplePrefCallbackData PurplePrefCallbackData;
 
@@ -72,7 +74,15 @@ typedef struct _PurplePrefCallbackData P
 typedef struct _PurplePrefsUiOps PurplePrefsUiOps;
 
 
-/**  Prefs UI operations
+/**
+ * Prefs UI operations. This allows overriding the prefs.xml storage with
+ * anything else. 
+ *
+ * Unless specified otherwise, each entry provides an implementation for the
+ * corresponding purple_prefs_* method, and disables the prefs.xml code for it.
+ * This means that to do anything useful, all the methods must be implemented.
+ *
+ * @since 2.11.0
  */
 struct _PurplePrefsUiOps
 {
@@ -105,7 +115,25 @@ struct _PurplePrefsUiOps
 	void (*save)(void);
 	void (*schedule_save)(void);
 
+	/**
+	 * Called when a callback is added to a preference. The UI must keep
+	 * track of it and call #purple_prefs_trigger_callback_object with the
+	 * data attribute.
+	 *
+	 * @param name The preference name.
+	 * @param data The object to be passed when triggering the callback
+	 * @return A pointer to a ui_data object.
+	 * */
 	void *(*connect_callback)(const char *name, PurplePrefCallbackData *data);
+
+	/**
+	 * Called when a callback is removed from a preference. The ui_data
+	 * object is the one returned from connect_callback.
+	 *
+	 * @param name The preference name
+	 * @param ui_data The object that was returned from the
+	 * connect_callback UI OP.
+	 * */
 	void (*disconnect_callback)(const char *name, void *ui_data);
 
 	void (*_purple_reserved1)(void);
@@ -129,6 +157,7 @@ extern "C" {
  * Sets the UI operations structure to be used for preferences.
  *
  * @param ops The UI operations structure.
+ * @since 2.11.0
  */
 void purple_prefs_set_ui_ops(PurplePrefsUiOps *ops);
 
@@ -136,6 +165,7 @@ void purple_prefs_set_ui_ops(PurplePrefs
  * Returns the UI operations structure used for preferences.
  *
  * @return The UI operations structure in use.
+ * @since 2.11.0
  */
 PurplePrefsUiOps *purple_prefs_get_ui_ops(void);
 
@@ -430,6 +460,8 @@ void purple_prefs_trigger_callback(const
 /**
  * Trigger callbacks as if the pref changed, taking a #PurplePrefCallbackData
  * instead of a name
+ *
+ * @since 2.11.0
  */
 void purple_prefs_trigger_callback_object(PurplePrefCallbackData *data);
 



More information about the Commits mailing list