folks Reference Manual

# folks

## Description:

## Content:

### Namespaces:

- Folks - New general types required by Folks.

### Interfaces:

- AliasDetails - Alias for a contact.
- AntiLinkable - Interface for Persona subclasses from backends which support storage of, anti-linking data.
- AvatarDetails - Avatar for a contact.
- BirthdayDetails - Birthday details for a contact.
- EmailDetails - Interface for classes that have email addresses, such as Persona and Individual.
- ExtendedInfo - Arbitrary field interface.
- FavouriteDetails - Favourite status for a contact.
- GenderDetails - Gender of a contact.
- GroupDetails - Groups for a contact.
- ImDetails - IM addresses exposed by an object implementing PresenceDetails.
- InteractionDetails - Interaction details of a contact.
- LocalIdDetails - This interface represents the list of Persona.iids corresponding to Personas from backends with write support so that they can be linked.
- LocationDetails - Location of a contact. folks tries to keep track of the current location and thus favors live data (say, as advertised by a chat service) over static data (from an address book). Static addresses, such as a contact's home or work address, should be presented using the PostalAddressDetails interface. LocationDetails is purely for exposing the contact's current or recent location.
- NameDetails - Interface for classes which represent contacts with names, such as Persona and Individual.
- NoteDetails - This interface represents the list of notes associated to a Persona and Individual.
- PhoneDetails - Interface for classes that can provide a phone number, such as Persona and Individual.
- PostalAddressDetails - Interface for classes that can provide postal addresses, such as Persona and Individual.
- PresenceDetails - Interface exposing a Persona's or Individual's presence; their current availability, such as for chatting.
- RoleDetails - This interfaces represents the list of roles a Persona and Individual might have.
- UrlDetails - Associates a list of URLs with a contact.
- WebServiceDetails - Web service contact details.

### Classes:

- AbstractFieldDetails - Object representing any type of value that can have some vCard-like parameters associated with it.
- AvatarCache - A singleton persistent cache for avatars in folks.
- Backend - A single backend to libfolks, such as Telepathy or evolution-data-server. Each backend provides Personas which are aggregated to form Individuals.
- BackendStore - Responsible for backend loading.
- Debug - Manages debug output and status reporting for all folks objects.
- EmailFieldDetails - Object representing a email address that can have some parameters associated with it.
- ExtendedFieldDetails - Object representing an arbitrary field that can have some parameters associated with it. This is intended to be as general-purpose as, for example, a vCard property. See the documentation for Folks.ExtendedInfo for information on when using this object is appropriate.
- ImFieldDetails - Object representing an IM address value that can have some parameters associated with it.
- Individual - A physical person, aggregated from the various Personas the person might have, such as their different IM addresses or vCard entries. An individual must always contain at least one Persona.
- IndividualAggregator - Stores Individuals which have been created through aggregation of all the Personas provided by the various Backends.
- Location - A location. Typically latitude and longitude will be based on WGS84. However, folks often has no way of verifying that and just has to assume it's true.
- NoteFieldDetails - Object representing a note that can have some parameters associated with it.
- ObjectCache - A generic abstract cache for sets of objects. This can be used by subclasses to implement caching of homogeneous sets of objects. Subclasses simply have to implement serialisation and deserialisation of the objects to and from GLib.Variants.
- Persona - 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.
- PersonaStore - A store for Personas.
- PhoneFieldDetails - Object representing a phone number that can have some parameters associated with it.
- PostalAddress - Object representing a postal mail address.
- PostalAddressFieldDetails - Object representing a PostalAddress value that can have some parameters associated with it.
- PotentialMatch - Match calculator for pairs of individuals.
- Query - A contact query.
- Role - Role a contact has in an organisation.
- RoleFieldDetails - Object representing details of a contact in an organisation which can have some parameters associated with it.
- SearchView - A view of Individuals which match a given Query.
- SimpleQuery - A simple text-based contact query.
- StructuredName - Structured name representation for human names.
- UrlFieldDetails - Object representing a URL that can have some parameters associated with it.
- Utils - Utility functions to simplify common patterns in Folks client code.
- WebServiceFieldDetails - Object representing a web service contact that can have some parameters associated with it.

### Enums:

- Gender - The gender of a contact
- MatchResult - Likely-ness of a potential match.
- MaybeBool - A 'boolean' type that has a distinct 'unset' state.
- PersonaDetail - Definition of the available fields to be looked up with PersonaStore.detail_key.
- PersonaStoreTrust - Trust level for a PersonaStore's Personas for linking purposes.
- PresenceType - The possible presence states an object implementing PresenceDetails could be in.
- TrustLevel - Trust level for an Individual for use in the UI.

### Error domains:

- ImDetailsError - Errors related to IM addresses and IM address handling.
- IndividualAggregatorError - Errors from IndividualAggregators.
- PersonaStoreError - Errors from PersonaStores.
- PropertyError - Errors which can be thrown when asynchronously setting a property of a Persona using a setter method defined on an interface such as AliasDetails.