docs: add documentation for GSignondSessionData
authorAlexander Kanavin <alexander.kanavin@intel.com>
Mon, 1 Jul 2013 15:29:52 +0000 (18:29 +0300)
committerAlexander Kanavin <alexander.kanavin@intel.com>
Fri, 16 Aug 2013 14:28:20 +0000 (17:28 +0300)
include/gsignond/gsignond-session-data.h
src/common/gsignond-session-data.c

index 846df47..4ca4865 100644 (file)
@@ -88,11 +88,11 @@ gsignond_session_data_set_renew_token (GSignondSessionData *data,
 
 gboolean
 gsignond_session_data_get_ui_policy (GSignondSessionData *data,
-                                     guint32 *ui_policy);
+                                     GSignondUiPolicy *ui_policy);
 
 void
 gsignond_session_data_set_ui_policy (GSignondSessionData *data,
-                                     guint32 ui_policy);
+                                     GSignondUiPolicy ui_policy);
 
 const gchar *
 gsignond_session_data_get_network_proxy (GSignondSessionData *data);
index b07f23c..5019ede 100644 (file)
 
 #include <gsignond/gsignond-session-data.h>
 
+
+/**
+ * SECTION:gsignond-session-data
+ * @short_description: definitions for authentication session parameters
+ * @title: GSignondSessionData
+ * @include: gsignond/gsignond-session-data.h
+ *
+ * This file provides commonly used parameters for authentication sessions.
+ * For each of those a getter and setter is defined, on #GSignondSessionData
+ * container. The plugins may not use all of these parameters, and they commonly
+ * require additional, custom parameters which are set using #GSignondDictionary
+ * setters with explicit key string.
+ */
+
+
+/**
+ * GSignondSessionData:
+ * 
+ * #GSignondSessionData is simply a typedef for #GSignondDictionary, which 
+ * means the developers may also freely use methods associated with that structure,
+ * in particular for creating a #GSignondSessionData object with 
+ * gsignond_dictionary_new().
+ */
+
+/**
+ * GSignondUiPolicy:
+ * @GSIGNOND_UI_POLICY_DEFAULT: use a default user interaction scenario
+ * @GSIGNOND_UI_POLICY_REQUEST_PASSWORD: force an authorization request from the user;
+ * any cached authorization tokens are discarded
+ * @GSIGNOND_UI_POLICY_NO_USER_INTERACTION: force no interaction with the user
+ * @GSIGNOND_UI_POLICY_VALIDATION: interaction with the user is only allowed
+ * for validation captchas and similar security measures
+ * 
+ * Policy setting to define how plugins should handle interaction with the user.
+ */
+
+/**
+ * gsignond_session_data_get_username:
+ * @data: a #GSignondDictionary structure
+ * 
+ * A getter for a username associated with the authentication session.
+ * 
+ * Returns: (transfer none)
+ */
 const gchar *
 gsignond_session_data_get_username (GSignondSessionData *data)
 {
     return gsignond_dictionary_get_string (data, "UserName");
 }
 
+/**
+ * gsignond_session_data_set_username:
+ * @data: a #GSignondDictionary structure
+ * @username: username to set
+ * 
+ * A setter for a username associated with the authentication session.
+ */
 void
 gsignond_session_data_set_username (GSignondSessionData *data, 
                                     const gchar *username)
@@ -38,12 +89,27 @@ gsignond_session_data_set_username (GSignondSessionData *data,
     gsignond_dictionary_set_string (data, "UserName", username);
 }
 
+/**
+ * gsignond_session_data_get_secret:
+ * @data: a #GSignondDictionary structure
+ * 
+ * A getter for a secret (e.g. a password) associated with the authentication session.
+ * 
+ * Returns: (transfer none)
+ */
 const gchar *
 gsignond_session_data_get_secret (GSignondSessionData *data)
 {
     return gsignond_dictionary_get_string (data, "Secret");
 }
 
+/**
+ * gsignond_session_data_set_secret:
+ * @data: a #GSignondDictionary structure
+ * @secret: a secret to set
+ * 
+ * A setter for a secret (e.g. a password) associated with the authentication session.
+ */
 void
 gsignond_session_data_set_secret (GSignondSessionData *data, 
                                   const gchar *secret)
@@ -51,12 +117,27 @@ gsignond_session_data_set_secret (GSignondSessionData *data,
     gsignond_dictionary_set_string (data, "Secret", secret);
 }
 
+/**
+ * gsignond_session_data_get_realm:
+ * @data: a #GSignondDictionary structure
+ * 
+ * A getter for a realm associated with the authentication session.
+ * 
+ * Returns: (transfer none)
+ */
 const gchar *
 gsignond_session_data_get_realm (GSignondSessionData *data)
 {
     return gsignond_dictionary_get_string (data, "Realm");
 }
 
+/**
+ * gsignond_session_data_set_realm:
+ * @data: a #GSignondDictionary structure
+ * @realm: a realm to set
+ * 
+ * A setter for a realm associated with the authentication session.
+ */
 void
 gsignond_session_data_set_realm (GSignondSessionData *data,
                                  const gchar *realm)
@@ -64,12 +145,31 @@ gsignond_session_data_set_realm (GSignondSessionData *data,
     gsignond_dictionary_set_string (data, "Realm", realm);
 }
 
+/**
+ * gsignond_session_data_get_caption:
+ * @data: a #GSignondDictionary structure
+ * 
+ * A getter for a caption associated with the authentication session.
+ * Caption tells the user which application/credentials/provider is requestion
+ * authentication.
+ * 
+ * Returns: (transfer none)
+ */
 const gchar *
 gsignond_session_data_get_caption (GSignondSessionData *data)
 {
     return gsignond_dictionary_get_string (data, "Caption");
 }
 
+/**
+ * gsignond_session_data_set_caption:
+ * @data: a #GSignondDictionary structure
+ * @caption: a caption to set
+ * 
+ * A setter for a caption associated with the authentication session.
+ * Caption tells the user which application/credentials/provider is requestion
+ * authentication.
+ */
 void
 gsignond_session_data_set_caption (GSignondSessionData *data,
                                    const gchar *caption)
@@ -77,6 +177,17 @@ gsignond_session_data_set_caption (GSignondSessionData *data,
     gsignond_dictionary_set_string (data, "Caption", caption);
 }
 
+/**
+ * gsignond_session_data_get_renew_token:
+ * @data: a #GSignondDictionary structure
+ * @renew_token: the value for the parameter is written here
+ * 
+ * A getter for a renew token property associated with the authentication session.
+ * This property tells the plugin to discard any cached tokens and start 
+ * the authoriztion process anew.
+ * 
+ * Returns: whether the key-value pair exists in the dictionary or not.
+ */
 gboolean
 gsignond_session_data_get_renew_token (GSignondSessionData *data,
                                        gboolean *renew_token)
@@ -84,6 +195,15 @@ gsignond_session_data_get_renew_token (GSignondSessionData *data,
     return gsignond_dictionary_get_boolean (data, "RenewToken", renew_token);
 }
 
+/**
+ * gsignond_session_data_set_renew_token:
+ * @data: a #GSignondDictionary structure
+ * @renew_token: whether to renew the token set
+ * 
+ * A setter for a renew token property associated with the authentication session.
+ * This property tells the plugin to discard any cached tokens and start 
+ * the authoriztion process anew.
+ */
 void
 gsignond_session_data_set_renew_token (GSignondSessionData *data,
                                        gboolean renew_token)
@@ -91,26 +211,61 @@ gsignond_session_data_set_renew_token (GSignondSessionData *data,
     gsignond_dictionary_set_boolean (data, "RenewToken", renew_token);
 }
 
+/**
+ * gsignond_session_data_get_ui_policy:
+ * @data: a #GSignondDictionary structure
+ * @ui_policy: the value for the parameter is written here
+ * 
+ * A getter for UI policy setting associated with the authentication session.
+ * The UI policy indicates how the authentication plugin should interact with the user.
+ * 
+ * Returns: whether the key-value pair exists in the dictionary or not.
+ */
 gboolean
 gsignond_session_data_get_ui_policy (GSignondSessionData *data,
-                                     guint32 *ui_policy)
+                                     GSignondUiPolicy *ui_policy)
 {
     return gsignond_dictionary_get_uint32 (data, "UiPolicy", ui_policy);
 }
 
+/**
+ * gsignond_session_data_set_ui_policy:
+ * @data: a #GSignondDictionary structure
+ * @ui_policy: ui policy to set
+ * 
+ * A getter for UI policy setting associated with the authentication session.
+ * The UI policy indicates how the authentication plugin should interact with the user.
+ */
 void
 gsignond_session_data_set_ui_policy (GSignondSessionData *data, 
-                                     guint32 ui_policy)
+                                     GSignondUiPolicy ui_policy)
 {
     gsignond_dictionary_set_uint32 (data, "UiPolicy", ui_policy);
 }    
 
+/**
+ * gsignond_session_data_get_network_proxy:
+ * @data: a #GSignondDictionary structure
+ * 
+ * A getter for a network proxy setting associated with the authentication session.
+ * If this property is not set, the default system proxy settings should be used.
+ * 
+ * Returns: (transfer none)
+ */
 const gchar *
 gsignond_session_data_get_network_proxy (GSignondSessionData *data)
 {
     return gsignond_dictionary_get_string (data, "NetworkProxy");
 }
 
+/**
+ * gsignond_session_data_set_network_proxy:
+ * @data: a #GSignondDictionary structure
+ * @network_proxy: network proxy to use
+ * 
+ * A setter for a network proxy setting associated with the authentication session.
+ * If this property is not set, the default system proxy settings should be used.
+ */
 void
 gsignond_session_data_set_network_proxy (GSignondSessionData *data,
                                          const gchar *network_proxy)
@@ -118,6 +273,16 @@ gsignond_session_data_set_network_proxy (GSignondSessionData *data,
     gsignond_dictionary_set_string (data, "NetworkProxy", network_proxy);
 }
 
+/**
+ * gsignond_session_data_get_network_timeout:
+ * @data: a #GSignondDictionary structure
+ * @network_timeout: the value for the parameter is written here
+ * 
+ * A getter for a network timeout setting associated with the authentication session.
+ * This can be used to change the default timeout in case of unresponsive servers.
+ * 
+ * Returns: whether the key-value pair exists in the dictionary or not.
+ */
 gboolean
 gsignond_session_data_get_network_timeout (GSignondSessionData *data,
                                            guint32 *network_timeout)
@@ -126,6 +291,14 @@ gsignond_session_data_get_network_timeout (GSignondSessionData *data,
                                            network_timeout);
 }
 
+/**
+ * gsignond_session_data_set_network_timeout:
+ * @data: a #GSignondDictionary structure
+ * @network_timeout: network timeout to use
+ * 
+ * A setter for a network timeout setting associated with the authentication session.
+ * This can be used to change the default timeout in case of unresponsive servers.
+ */
 void
 gsignond_session_data_set_network_timeout (GSignondSessionData *data,
                                            guint32 network_timeout)
@@ -134,6 +307,17 @@ gsignond_session_data_set_network_timeout (GSignondSessionData *data,
                                     network_timeout);
 }
 
+/**
+ * gsignond_session_data_get_window_id:
+ * @data: a #GSignondDictionary structure
+ * @window_id: the value for the parameter is written here
+ * 
+ * A getter for a window id setting associated with the authentication session.
+ * This can be used to embed the user interaction window produced by the authentication
+ * session into an application window.
+ * 
+ * Returns: whether the key-value pair exists in the dictionary or not.
+ */
 gboolean
 gsignond_session_data_get_window_id (GSignondSessionData *data,
                                      guint32 *window_id)
@@ -141,6 +325,15 @@ gsignond_session_data_get_window_id (GSignondSessionData *data,
     return gsignond_dictionary_get_uint32 (data, "WindowId", window_id);
 }
 
+/**
+ * gsignond_session_data_set_window_id:
+ * @data: a #GSignondDictionary structure
+ * @window_id: window id to use
+ * 
+ * A setter for a window id setting associated with the authentication session.
+ * This can be used to embed the user interaction window produced by the authentication
+ * session into an application window.
+ */
 void
 gsignond_session_data_set_window_id (GSignondSessionData *data,
                                      guint32 window_id)