FolksPersona

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

Functions

Types and Values

Description

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

Properties of a persona are provided by implementing "details" interfaces, such as FolksNameDetails or FolksEmailDetails. They must be accessed through these interfaces. Different backends' subclasses of FolksPersona 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.

Functions

FolksPersonaLinkablePropertyCallback ()

void
(*FolksPersonaLinkablePropertyCallback)
                               (const gchar *link,
                                gpointer user_data);

Callback into the aggregator to manipulate a link mapping.

This is a callback provided by the FolksIndividualAggregator whenever a folks_persona_linkable_property_to_links() method is called, which should be called by the linkable_property_to_links implementation for each linkable-property-to-individual mapping it wants to add or remove in the aggregator.

Parameters

link

 .

the mapping string to be added to the FolksIndividualAggregator

.

[in]

user_data

data to pass to the delegate function.

[closure]

Since: 0.1.13

Types and Values

FOLKS_TYPE_PERSONA

#define FOLKS_TYPE_PERSONA (folks_persona_get_type ())

The type for FolksPersona.


struct FolksPersona

struct FolksPersona {
	GObject parent_instance;
	FolksPersonaPrivate * priv;
};

Represents a "shard" of a person from a single source (a single FolksBackend), 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 FolksIndividual representing that person.

Properties of a persona are provided by implementing "details" interfaces, such as FolksNameDetails or FolksEmailDetails. They must be accessed through these interfaces. Different backends' subclasses of FolksPersona 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.


struct FolksPersonaClass

struct FolksPersonaClass {
	GObjectClass parent_class;
	void (*linkable_property_to_links) (FolksPersona* self, const gchar* prop_name, FolksPersonaLinkablePropertyCallback callback, gpointer callback_target);
	gchar** (*get_linkable_properties) (FolksPersona* self, gint* result_length1);
	gchar** (*get_writeable_properties) (FolksPersona* self, gint* result_length1);
};

The class structure for FOLKS_TYPE_PERSONA. All the fields in this structure are private and should never be accessed directly.

Members

linkable_property_to_links ()

virtual method called by folks_persona_linkable_property_to_links()

 

get_linkable_properties ()

getter method for the abstract property "linkable-properties"

 

get_writeable_properties ()

getter method for the abstract property "writeable-properties"

 

enum FolksPropertyError

Errors which can be thrown when asynchronously setting a property of a FolksPersona using a setter method defined on an interface such as FolksAliasDetails.

Members

FOLKS_PROPERTY_ERROR_NOT_WRITEABLE

Property is not writeable for this particular object.

 

FOLKS_PROPERTY_ERROR_INVALID_VALUE

Value was invalid for the property.

 

FOLKS_PROPERTY_ERROR_UNKNOWN_ERROR

Unknown error when setting the property.

 

FOLKS_PROPERTY_ERROR_UNAVAILABLE

The backing store is offline or otherwise unavailable.

This is a temporary error which should be retifiable by going online or ensuring the backing store is logged in.

 

Since: 0.6.2