Folks.PersonaStore – folks Reference Manual

# PersonaStore

## Object Hierarchy:

## Description:

public abstract class PersonaStore : Object

A store for Personas.

After creating a PersonaStore instance, you must connect to the PersonaStore.personas_changed signal, then call PersonaStore.prepare, otherwise a race condition may occur between emission of PersonaStore.personas_changed and your code connecting to it.

Namespace: Folks
Package: folks

## Content:

### Properties:

- public abstract string[] always_writeable_properties { get; }
  The names of the properties of the Personas in this store which are always writeable.
- public abstract MaybeBool can_add_personas { get; }
  Whether this PersonaStore can add Personas.
- public abstract MaybeBool can_alias_personas { get; }
  Whether this PersonaStore can set the alias of Personas.
- public abstract MaybeBool can_group_personas { get; }
  Whether this PersonaStore can set the groups of Personas.
- public abstract MaybeBool can_remove_personas { get; }
  Whether this PersonaStore can remove Personas.
- public string display_name { get; construct; }
  The human-readable, service-specific name used to represent the PersonaStore to the user.
- public string id { get; construct; }
  The instance identifier for this PersonaStore.
- public abstract bool is_prepared { get; }
  Whether PersonaStore.prepare has successfully completed for this store.
- public bool is_primary_store { get; }
  Whether this PersonaStore is the primary store to be used for linking Personas.
- public abstract bool is_quiescent { get; }
  Whether the store has reached a quiescent state. This will happen at some point after PersonaStore.prepare has successfully completed for the store. A store is in a quiescent state when all the Personas that it originally knows about have been loaded.
- public bool is_user_set_default { get; }
  Whether this PersonaStore is marked as the default in its backend by the user.
- public bool is_writeable { get; set; }
  Whether the PersonaStore is writeable.
- public abstract Map<string,Persona> personas { get; }
  The Personas exposed by this PersonaStore.
- public PersonaStoreTrust trust_level { get; set; }
  The trust level of the PersonaStore for linking.
- public abstract string type_id { get; }
  The type of PersonaStore this is.

### Static methods:

- public static unowned string? detail_key (PersonaDetail detail)
  Returns the key corresponding to @detail, for use in the details param of PersonaStore.add_persona_from_details.

### Methods:

- public abstract async Persona? add_persona_from_details (HashTable<string,Value?> details) throws PersonaStoreError
  Add a new Persona to the PersonaStore.
- public virtual async void flush ()
  Flush any pending changes to the PersonaStore's backing store.
- public abstract async void prepare () throws Error
  Prepare the PersonaStore for use.
- public abstract async void remove_persona (Persona persona) throws PersonaStoreError
  Remove a Persona from the PersonaStore.

### Signals:

- public signal void personas_changed (Set<Persona> added, Set<Persona> removed, string? message, Persona? actor, ChangeReason reason)
  Emitted when one or more Personas are added to or removed from the store.
- public signal void removed ()
  Emitted when the backing store for this PersonaStore has been removed.

### Inherited Members:

All known members inherited from class GLib.Object

- @get
- @new
- @ref
- @set
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating
- freeze_notify
- get_class
- get_data

- get_property
- get_qdata
- get_type
- getv
- interface_find_property
- interface_install_property
- interface_list_properties
- is_floating
- new_valist
- new_with_properties
- newv
- notify
- notify_property
- ref_count
- ref_sink
- remove_toggle_ref
- remove_weak_pointer

- replace_data
- replace_qdata
- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref