gsignond_session_data_set_realm (GSignondSessionData *data,
const gchar *realm);
+GSequence *
+gsignond_session_data_get_allowed_realms (GSignondSessionData *data);
+
+void
+gsignond_session_data_set_allowed_realms (GSignondSessionData *data,
+ GSequence *realms);
const gchar *
gsignond_session_data_get_caption (GSignondSessionData *data);
* 02110-1301 USA
*/
-#include <gsignond/gsignond-session-data.h>
+#include "gsignond/gsignond-session-data.h"
+#include "gsignond/gsignond-utils.h"
/**
}
/**
+ * gsignond_session_data_set_allowed_realms:
+ * @data: a #GSignondDictionary structure
+ * @realms: a #GSequence if allowed realms
+ *
+ * A setter for a list of realms allowed for the identity use.
+ */
+void
+gsignond_session_data_set_allowed_realms (GSignondSessionData *data,
+ GSequence *realms)
+{
+ gsignond_dictionary_set (data, "AllowedRealms",
+ gsignond_sequence_to_variant (realms));
+}
+
+/**
+ * gsignond_session_data_get_allowed_realms:
+ * @data: a #GSignondDictionary structure
+ *
+ * A getter for a list of realms allowed for the identity use.
+ *
+ * Returns: (transfer full): #GSequence of allowed realms
+ */
+GSequence *
+gsignond_session_data_get_allowed_realms (GSignondSessionData *data)
+{
+ return gsignond_variant_to_sequence (gsignond_dictionary_get (data,
+ "AllowedRealms"));
+}
+
+/**
* gsignond_session_data_set_realm:
* @data: a #GSignondDictionary structure
* @realm: a realm to set
if (secret)
gsignond_session_data_set_secret (session_data, secret);
}
+ if (gsignond_identity_info_get_realms (self->priv->identity_info)) {
+ GSequence *realms =
+ gsignond_identity_info_get_realms (self->priv->identity_info);
+ gsignond_session_data_set_allowed_realms (session_data,
+ realms);
+ }
}
_ProcessData * data = g_slice_new0 (_ProcessData);