Folks.Persona – folks Reference Manual

# Persona

## Object Hierarchy:

## Description:

public abstract class Persona : Object

Represents a "shard" of a person from a single source (a single Backend), such as an XMPP contact from Telepathy or a vCard contact from evolution-data-server.

All the personas belonging to one physical person are aggregated to form a single Individual representing that person.

Properties of a persona are provided by implementing "details" interfaces, such as NameDetails or EmailDetails. They must be accessed through these interfaces. Different backends' subclasses of Persona may implement different sets of interfaces. The set of interfaces implemented by a given persona is guaranteed not to change over the lifetime of that persona.

Required by:

- AntiLinkable

Namespace: Folks
Package: folks

## Content:

### Properties:

- public string display_id { get; construct; }
  The human-readable, service-specific universal ID used to represent the Persona.
- public string iid { get; construct; }
  The internal ID used to represent the Persona for linking.
- public unowned Individual? individual { get; }
  The Individual which contains this Persona.
- public bool is_user { get; construct; }
  Whether the Persona is the user.
- public abstract string[] linkable_properties { get; }
  The names of the properties of this Persona which are linkable.
- public unowned PersonaStore store { get; construct; }
  The PersonaStore which contains this Persona.
- public string uid { get; construct; }
  The universal ID used to represent the Persona outside its Backend.
- public abstract string[] writeable_properties { get; }
  The names of the properties of this Persona which are writeable.

### Delegates:

- public delegate void LinkablePropertyCallback (string link)
  Callback into the aggregator to manipulate a link mapping.

### Static methods:

- public static string build_uid (string backend_name, string persona_store_id, string persona_id)
  Build a UID from the given components.
- public static void split_uid (string uid, out string backend_name, out string persona_store_id, out string persona_id)
  Split a UID into its component parts.

### Methods:

- public virtual void linkable_property_to_links (string prop_name, LinkablePropertyCallback callback)
  Produce one or more mapping strings for the given property's value.

### 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