+ * The following list of properties are the basic keys
+ * that each PersonaStore with write capabilities should
+ * support for {@link Persona.add_persona_from_details}.
+ *
+ * Note that these aren't the only valid keys; backends are
+ * allowed to support keys beyond the ones defined here
+ * which might be specific to the backend in question.
+ *
+ * Should be kept in sync with {@link Folks.PersonaDetail}.
+ *
+ * @since UNRELEASED
+ */
+ private static const string _PERSONA_DETAIL[] = {
+ "alias",
+ "full-name",
+ "is-favourite",
+ "structured-name",
+ "avatar",
+ "birthday",
+ "gender",
+ "email-addresses",
+ "im-addresses",
+ "notes",
+ "phone-numbers",
+ "postal-addresses",
+ "roles",
+ "urls"
+ };
+
+ /**
+ * Returns the key corresponding to @detail, for use in
+ * the details param of {@link Persona.add_persona_from_details}.
+ *
+ * @param detail the {@link PersonaDetail} to lookup
+ *
+ * @since UNRELEASED
+ */
+ public unowned string detail_key (Folks.PersonaDetail detail)
+ {
+ return this._PERSONA_DETAIL[detail];
+ }
+
+ /**