Top |
FolksPersonaStoreFolksPersonaStore — A store for FolksPersonas. |
GStrv | always-writeable-properties | Read |
FolksMaybeBool | can-add-personas | Read |
FolksMaybeBool | can-alias-personas | Read |
FolksMaybeBool | can-group-personas | Read |
FolksMaybeBool | can-remove-personas | Read |
gchar * | display-name | Read / Write / Construct Only |
gchar * | id | Read / Write / Construct Only |
gboolean | is-prepared | Read |
gboolean | is-primary-store | Read / Write |
gboolean | is-quiescent | Read |
gboolean | is-user-set-default | Read / Write |
gboolean | is-writeable | Read / Write |
GeeMap * | personas | Read |
FolksPersonaStoreTrust | trust-level | Read / Write |
gchar * | type-id | Read |
struct | FolksPersonaStore |
struct | FolksPersonaStoreClass |
enum | FolksPersonaStoreTrust |
enum | FolksPersonaDetail |
enum | FolksPersonaStoreError |
GEnum ├── FolksPersonaDetail ╰── FolksPersonaStoreTrust GObject ╰── FolksPersonaStore
After creating a PersonaStore instance, you must connect to the "personas-changed" signal, then call folks_persona_store_prepare()
, otherwise a race condition may occur between emission of "personas-changed" and your code connecting to it.
#define FOLKS_TYPE_PERSONA_STORE (folks_persona_store_get_type ())
The type for FolksPersonaStore.
void folks_persona_store_prepare (FolksPersonaStore *self
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Prepare the PersonaStore for use.
This connects the PersonaStore to whichever backend-specific services it requires to be able to provide FolksPersonas. This should be called after connecting to the "personas-changed" signal, or a race condition could occur, with the signal being emitted before your code has connected to it, and FolksPersonas getting "lost" as a result.
This is normally handled transparently by the FolksIndividualAggregator.
If this function throws an error, the PersonaStore will not be functional.
This function is guaranteed to be idempotent (since version 0.3.0).
Concurrent calls to this function from different threads will block until preparation has completed. However, concurrent calls to this function from a single thread might not, i.e. the first call will block but subsequent calls might return before the first one. (Though they will be safe in every other respect.)
GError will be returned in error
if preparing the backend-specific services failed — this will be a backend-specific error
See also: folks_persona_store_prepare_finish()
self |
the FolksPersonaStore instance |
|
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
Since 0.1.11
void folks_persona_store_prepare_finish (FolksPersonaStore *self
,GAsyncResult *_res_
,GError **error
);
Prepare the PersonaStore for use.
This connects the PersonaStore to whichever backend-specific services it requires to be able to provide FolksPersonas. This should be called after connecting to the "personas-changed" signal, or a race condition could occur, with the signal being emitted before your code has connected to it, and FolksPersonas getting "lost" as a result.
This is normally handled transparently by the FolksIndividualAggregator.
If this function throws an error, the PersonaStore will not be functional.
This function is guaranteed to be idempotent (since version 0.3.0).
Concurrent calls to this function from different threads will block until preparation has completed. However, concurrent calls to this function from a single thread might not, i.e. the first call will block but subsequent calls might return before the first one. (Though they will be safe in every other respect.)
GError will be returned in error
if preparing the backend-specific services failed — this will be a backend-specific error
See also: folks_persona_store_prepare()
self |
the FolksPersonaStore instance |
|
_res_ |
||
error |
location to store the error occuring, or |
Since 0.1.11
void folks_persona_store_flush (FolksPersonaStore *self
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Flush any pending changes to the PersonaStore's backing store.
PersonaStores may (transparently) implement caching or I/O queueing which means that changes to their FolksPersonas may not be immediately written to the PersonaStore's backing store. Calling this function will force all pending changes to be flushed to the backing store.
This must not be called before folks_persona_store_prepare()
.
See also: folks_persona_store_flush_finish()
self |
the FolksPersonaStore instance |
|
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
Since 0.1.17
void folks_persona_store_flush_finish (FolksPersonaStore *self
,GAsyncResult *_res_
);
Flush any pending changes to the PersonaStore's backing store.
PersonaStores may (transparently) implement caching or I/O queueing which means that changes to their FolksPersonas may not be immediately written to the PersonaStore's backing store. Calling this function will force all pending changes to be flushed to the backing store.
This must not be called before folks_persona_store_prepare()
.
See also: folks_persona_store_flush()
Since 0.1.17
void folks_persona_store_add_persona_from_details (FolksPersonaStore *self
,GHashTable *details
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Add a new FolksPersona to the PersonaStore.
The FolksPersona will be created by the PersonaStore backend from the key-value pairs given in details
.
All additions through this function will later be emitted through the personas-changed signal to be notified of the new FolksPersona. The return value is purely for convenience, since it can be complicated to correlate the provided details with the final Persona.
If the store is offline (or folks_persona_store_prepare()
hasn't yet been called successfully), this function will throw FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE
. It's the responsibility of the caller to cache details and re-try this function if it wishes to make offline adds work.
If the details are not recognised or are invalid, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT
will be thrown. A default set of possible details are defined by FolksPersonaDetail but backends can either support a subset or superset of the suggested defaults.
If a FolksPersona with the given details already exists in the store, no error will be thrown and this function will return null
.
FolksPersonaStoreError will be returned in error
if adding the persona failed
See also: folks_persona_store_add_persona_from_details_finish()
self |
the FolksPersonaStore instance |
|
details |
. a key-value map of details to use in creating the new FolksPersona . |
[in] |
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
FolksPersona * folks_persona_store_add_persona_from_details_finish (FolksPersonaStore *self
,GAsyncResult *_res_
,GError **error
);
Add a new FolksPersona to the PersonaStore.
The FolksPersona will be created by the PersonaStore backend from the key-value pairs given in details
.
All additions through this function will later be emitted through the personas-changed signal to be notified of the new FolksPersona. The return value is purely for convenience, since it can be complicated to correlate the provided details with the final Persona.
If the store is offline (or folks_persona_store_prepare()
hasn't yet been called successfully), this function will throw FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE
. It's the responsibility of the caller to cache details and re-try this function if it wishes to make offline adds work.
If the details are not recognised or are invalid, FOLKS_PERSONA_STORE_ERROR_INVALID_ARGUMENT
will be thrown. A default set of possible details are defined by FolksPersonaDetail but backends can either support a subset or superset of the suggested defaults.
If a FolksPersona with the given details already exists in the store, no error will be thrown and this function will return null
.
FolksPersonaStoreError will be returned in error
if adding the persona failed
See also: folks_persona_store_add_persona_from_details()
self |
the FolksPersonaStore instance |
|
_res_ |
||
error |
location to store the error occuring, or |
[error-domains FolksPersonaStoreError] |
the new FolksPersona or null
if the corresponding Persona already existed. If non-null
, the new FolksPersona will also be amongst the FolksPersona(s) in a future emission of "personas-changed".
void folks_persona_store_remove_persona (FolksPersonaStore *self
,FolksPersona *persona
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Remove a FolksPersona from the PersonaStore.
It isn't guaranteed that the Persona will actually be removed by the time this asynchronous function finishes. The successful removal of the Persona will be signalled through emission of "personas-changed".
If the store is offline (or folks_persona_store_prepare()
hasn't yet been called successfully), this function will throw FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE
. It's the responsibility of the caller to cache details and re-try this function if it wishes to make offline removals work.
FolksPersonaStoreError will be returned in error
if removing the persona failed
See also: folks_persona_store_remove_persona_finish()
self |
the FolksPersonaStore instance |
|
persona |
. the FolksPersona to remove . |
[in] |
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
Since 0.1.11
void folks_persona_store_remove_persona_finish (FolksPersonaStore *self
,GAsyncResult *_res_
,GError **error
);
Remove a FolksPersona from the PersonaStore.
It isn't guaranteed that the Persona will actually be removed by the time this asynchronous function finishes. The successful removal of the Persona will be signalled through emission of "personas-changed".
If the store is offline (or folks_persona_store_prepare()
hasn't yet been called successfully), this function will throw FOLKS_PERSONA_STORE_ERROR_STORE_OFFLINE
. It's the responsibility of the caller to cache details and re-try this function if it wishes to make offline removals work.
FolksPersonaStoreError will be returned in error
if removing the persona failed
See also: folks_persona_store_remove_persona()
self |
the FolksPersonaStore instance |
|
_res_ |
||
error |
location to store the error occuring, or |
[error-domains FolksPersonaStoreError] |
Since 0.1.11
const gchar *
folks_persona_store_get_type_id (FolksPersonaStore *self
);
Get and return the current value of the "type-id" property.
The type of PersonaStore this is.
This is the same for all PersonaStores provided by a given FolksBackend.
This is guaranteed to always be available; even before folks_persona_store_prepare()
is called. It is immutable over the life of the FolksPersonaStore.
const gchar *
folks_persona_store_get_display_name (FolksPersonaStore *self
);
Get and return the current value of the "display-name" property.
The human-readable, service-specific name used to represent the PersonaStore to the user.
For example: foo@
.xmpp.example.org
This should be used whenever the user needs to be presented with a familiar, service-specific name. For instance, in a prompt for the user to select a specific IM account from which to initiate a chat.
This is not guaranteed to be unique even within this PersonaStore's FolksBackend. Its value may change throughout the life of the store.
Since 0.1.13
const gchar *
folks_persona_store_get_id (FolksPersonaStore *self
);
Get and return the current value of the "id" property.
The instance identifier for this PersonaStore.
Since each FolksBackend can provide multiple different PersonaStores for different accounts or servers (for example), they each need an ID which is unique within the backend.
It is immutable over the life of the FolksPersonaStore.
GeeMap *
folks_persona_store_get_personas (FolksPersonaStore *self
);
Get and return the current value of the "personas" property.
The FolksPersonas exposed by this PersonaStore.
Since 0.5.1
FolksMaybeBool
folks_persona_store_get_can_add_personas
(FolksPersonaStore *self
);
Get and return the current value of the "can-add-personas" property.
Whether this FolksPersonaStore can add FolksPersonas.
This value may change throughout the life of the FolksPersonaStore.
Since 0.3.1
FolksMaybeBool
folks_persona_store_get_can_alias_personas
(FolksPersonaStore *self
);
folks_persona_store_get_can_alias_personas
has been deprecated since version 0.6.3.1 and should not be used in newly-written code.
Replaced by “always-writeable-properties”.
Get and return the current value of the "can-alias-personas" property.
Whether this FolksPersonaStore can set the alias of FolksPersonas.
Since 0.3.1
FolksMaybeBool
folks_persona_store_get_can_group_personas
(FolksPersonaStore *self
);
folks_persona_store_get_can_group_personas
has been deprecated since version 0.6.3.1 and should not be used in newly-written code.
Replaced by “always-writeable-properties”.
Get and return the current value of the "can-group-personas" property.
Whether this FolksPersonaStore can set the groups of FolksPersonas.
Since 0.3.1
FolksMaybeBool
folks_persona_store_get_can_remove_personas
(FolksPersonaStore *self
);
Get and return the current value of the "can-remove-personas" property.
Whether this FolksPersonaStore can remove FolksPersonas.
This value may change throughout the life of the FolksPersonaStore.
Since 0.3.1
gboolean
folks_persona_store_get_is_prepared (FolksPersonaStore *self
);
Get and return the current value of the "is-prepared" property.
Whether folks_persona_store_prepare()
has successfully completed for this store.
It’s guaranteed that this will only ever change from false
to true
in the lifetime of the FolksPersonaStore.
Since 0.3.0
gboolean
folks_persona_store_get_is_quiescent (FolksPersonaStore *self
);
Get and return the current value of the "is-quiescent" property.
Whether the store has reached a quiescent state. This will happen at some point after folks_persona_store_prepare()
has successfully completed for the store. A store is in a quiescent state when all the FolksPersonas that it originally knows about have been loaded.
It's guaranteed that this property's value will only ever change after "is-prepared" has changed to true
.
Since 0.6.2
gboolean
folks_persona_store_get_is_writeable (FolksPersonaStore *self
);
folks_persona_store_get_is_writeable
has been deprecated since version 0.6.3 and should not be used in newly-written code.
Replaced by “is-primary-store”.
Get and return the current value of the "is-writeable" property.
Whether the PersonaStore is writeable.
Only if a PersonaStore is writeable will its FolksPersonas be updated by changes to the FolksIndividuals containing them, and those changes then be written out to the relevant backing store.
If this property is false
, it doesn't mean that FolksPersonas in this persona store aren't writeable at all. If their properties are updated through the FolksPersona, rather than through the FolksIndividual containing that persona, changes may be propagated to the backing store.
PersonaStores must not set this property themselves; it will be set as appropriate by the FolksIndividualAggregator.
Since 0.1.13
void folks_persona_store_set_is_writeable (FolksPersonaStore *self
,gboolean value
);
folks_persona_store_set_is_writeable
has been deprecated since version 0.6.3 and should not be used in newly-written code.
Replaced by “is-primary-store”.
Set the value of the "is-writeable" property to value
.
Whether the PersonaStore is writeable.
Only if a PersonaStore is writeable will its FolksPersonas be updated by changes to the FolksIndividuals containing them, and those changes then be written out to the relevant backing store.
If this property is false
, it doesn't mean that FolksPersonas in this persona store aren't writeable at all. If their properties are updated through the FolksPersona, rather than through the FolksIndividual containing that persona, changes may be propagated to the backing store.
PersonaStores must not set this property themselves; it will be set as appropriate by the FolksIndividualAggregator.
self |
the FolksPersonaStore instance to modify |
|
value |
the new value of the "is-writeable" property |
Since 0.1.13
FolksPersonaStoreTrust
folks_persona_store_get_trust_level (FolksPersonaStore *self
);
Get and return the current value of the "trust-level" property.
The trust level of the PersonaStore for linking.
Each FolksPersonaStore is assigned a trust level by the IndividualAggregator, designating whether to trust the properties of its FolksPersonas for linking to produce FolksIndividuals.
This value may change throughout the life of the FolksPersonaStore.
The trust level may be queried by clients, but must not be set by them. The setter for this property is for libfolks internal use only.
Since 0.1.13
void folks_persona_store_set_trust_level (FolksPersonaStore *self
,FolksPersonaStoreTrust value
);
Set the value of the "trust-level" property to value
.
The trust level of the PersonaStore for linking.
Each FolksPersonaStore is assigned a trust level by the IndividualAggregator, designating whether to trust the properties of its FolksPersonas for linking to produce FolksIndividuals.
This value may change throughout the life of the FolksPersonaStore.
The trust level may be queried by clients, but must not be set by them. The setter for this property is for libfolks internal use only.
self |
the FolksPersonaStore instance to modify |
|
value |
the new value of the "trust-level" property |
Since 0.1.13
gchar ** folks_persona_store_get_always_writeable_properties (FolksPersonaStore *self
,int *result_length1
);
Get and return the current value of the "always-writeable-properties" property.
The names of the properties of the FolksPersonas in this store which are always writeable.
If a property name is in this list, setting the property on a persona should result in the updated value being stored in the backend's permanent storage (unless it gets rejected due to being invalid, or a different error occurs).
This property value is guaranteed to be constant for a given persona store, but may vary between persona stores in the same backend. It's guaranteed that this will always be a subset of the value of "writeable-properties" for the personas in this persona store.
Since 0.6.2
gboolean
folks_persona_store_get_is_primary_store
(FolksPersonaStore *self
);
Get and return the current value of the "is-primary-store" property.
Whether this FolksPersonaStore is the primary store to be used for linking FolksPersonas.
Since 0.6.3
gboolean
folks_persona_store_get_is_user_set_default
(FolksPersonaStore *self
);
Get and return the current value of the "is-user-set-default" property.
Whether this FolksPersonaStore is marked as the default in its backend by the user.
i.e. A FolksPersonaStore for the EDS backend would set this to true
if it represents the user’s default address book.
Since 0.6.3
const gchar *
folks_persona_store_detail_key (FolksPersonaDetail detail
);
Returns the key corresponding to detail
, for use in the details param of folks_persona_store_add_persona_from_details()
.
Since 0.5.0
struct FolksPersonaStore;
A store for FolksPersonas.
After creating a PersonaStore instance, you must connect to the "personas-changed" signal, then call folks_persona_store_prepare()
, otherwise a race condition may occur between emission of "personas-changed" and your code connecting to it.
struct FolksPersonaStoreClass { GObjectClass parent_class; void (*prepare) (FolksPersonaStore* self, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*prepare_finish) (FolksPersonaStore* self, GAsyncResult* _res_, GError** error); void (*flush) (FolksPersonaStore* self, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*flush_finish) (FolksPersonaStore* self, GAsyncResult* _res_); void (*add_persona_from_details) (FolksPersonaStore* self, GHashTable* details, GAsyncReadyCallback _callback_, gpointer _user_data_); FolksPersona* (*add_persona_from_details_finish) (FolksPersonaStore* self, GAsyncResult* _res_, GError** error); void (*remove_persona) (FolksPersonaStore* self, FolksPersona* persona, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*remove_persona_finish) (FolksPersonaStore* self, GAsyncResult* _res_, GError** error); const gchar* (*get_type_id) (FolksPersonaStore* self); GeeMap* (*get_personas) (FolksPersonaStore* self); FolksMaybeBool (*get_can_add_personas) (FolksPersonaStore* self); FolksMaybeBool (*get_can_alias_personas) (FolksPersonaStore* self); FolksMaybeBool (*get_can_group_personas) (FolksPersonaStore* self); FolksMaybeBool (*get_can_remove_personas) (FolksPersonaStore* self); gboolean (*get_is_prepared) (FolksPersonaStore* self); gboolean (*get_is_quiescent) (FolksPersonaStore* self); gchar** (*get_always_writeable_properties) (FolksPersonaStore* self, int* result_length1); };
The class structure for FOLKS_TYPE_PERSONA_STORE
. All the fields in this structure are private and should never be accessed directly.
GObjectClass |
the parent class structure |
|
virtual method called by |
||
asynchronous finish function for |
||
virtual method called by |
||
asynchronous finish function for |
||
virtual method called by |
||
asynchronous finish function for |
||
virtual method called by |
||
asynchronous finish function for |
||
getter method for the abstract property "type-id" |
||
getter method for the abstract property "personas" |
||
getter method for the abstract property "can-add-personas" |
||
getter method for the abstract property "can-alias-personas" |
||
getter method for the abstract property "can-group-personas" |
||
getter method for the abstract property "can-remove-personas" |
||
getter method for the abstract property "is-prepared" |
||
getter method for the abstract property "is-quiescent" |
||
getter method for the abstract property "always-writeable-properties" |
Trust level for a FolksPersonaStore's FolksPersonas for linking purposes.
Trust levels are set internally by the backends, and must not be modified by clients.
The FolksPersonas aren't trusted at all, and cannot be linked. This should be used for FolksPersonaStores where even the FolksPersona UID could be maliciously edited to corrupt FolksPersona links, or where the UID changes regularly. |
||
Only the "uid" property is trusted for linking. In practice, this means that FolksPersonas from this FolksPersonaStore will not contribute towards the linking process, but can be linked together by their UIDs using data from FolksPersonas from a fully-trusted FolksPersonaStore. |
||
Every property in "linkable-properties" is trusted. This should only be used for user-controlled FolksPersonaStores, as if a remote store is compromised, malicious changes could be made to its data which corrupt the user's FolksPersona links. |
Since 0.1.13
Definition of the available fields to be looked up with folks_persona_store_detail_key()
.
Invalid field for use in error returns. |
||
Field for "alias". |
||
Field for "avatar". |
||
Field for "birthday". |
||
Field for "email-addresses". |
||
Field for "full-name". |
||
Field for "gender". |
||
Field for "im-addresses". |
||
Field for "is-favourite". |
||
Field for "local-ids". |
||
Field for "location". |
||
Field for "nickname". |
||
Field for "notes". |
||
Field for "phone-numbers". |
||
Field for "postal-addresses". |
||
Field for "roles". |
||
Field for "structured-name". |
||
Field for "urls". |
||
Field for "web-service-addresses". |
||
Field for "groups". |
||
Field for "im-interaction-count". |
||
Field for "last-im-interaction-datetime". |
||
Field for "call-interaction-count". |
||
Field for "last-call-interaction-datetime". |
||
Field for "anti-links". |
Since 0.5.0
Errors from FolksPersonaStores.
An argument to the method was invalid. |
||
Creation of a FolksPersona failed. |
||
Such an operation may not be performed on a FolksPersona with "is-user" set to |
||
The FolksPersonaStore was offline (ie, this is a temporary failure). |
||
The FolksPersonaStore doesn't support write operations. |
||
The operation was denied due to not having sufficient permissions. |
||
Removal of a FolksPersona failed. This is a generic error which is used if no other error code (such as, e.g., |
||
Such an operation may only be performed on a FolksPersona with "is-user" set to |
“always-writeable-properties”
property“always-writeable-properties” GStrv
The names of the properties of the FolksPersonas in this store which are always writeable.
If a property name is in this list, setting the property on a persona should result in the updated value being stored in the backend's permanent storage (unless it gets rejected due to being invalid, or a different error occurs).
This property value is guaranteed to be constant for a given persona store, but may vary between persona stores in the same backend. It's guaranteed that this will always be a subset of the value of "writeable-properties" for the personas in this persona store.
Flags: Read
Since 0.6.2
“can-add-personas”
property“can-add-personas” FolksMaybeBool
Whether this FolksPersonaStore can add FolksPersonas.
This value may change throughout the life of the FolksPersonaStore.
Flags: Read
Default value: FOLKS_MAYBE_BOOL_UNSET
Since 0.3.1
“can-alias-personas”
property“can-alias-personas” FolksMaybeBool
Whether this FolksPersonaStore can set the alias of FolksPersonas.
FolksPersonaStore:can-alias-personas
has been deprecated since version 0.6.3.1 and should not be used in newly-written code.
Replaced by “always-writeable-properties”.
Flags: Read
Default value: FOLKS_MAYBE_BOOL_UNSET
Since 0.3.1
“can-group-personas”
property“can-group-personas” FolksMaybeBool
Whether this FolksPersonaStore can set the groups of FolksPersonas.
FolksPersonaStore:can-group-personas
has been deprecated since version 0.6.3.1 and should not be used in newly-written code.
Replaced by “always-writeable-properties”.
Flags: Read
Default value: FOLKS_MAYBE_BOOL_UNSET
Since 0.3.1
“can-remove-personas”
property“can-remove-personas” FolksMaybeBool
Whether this FolksPersonaStore can remove FolksPersonas.
This value may change throughout the life of the FolksPersonaStore.
Flags: Read
Default value: FOLKS_MAYBE_BOOL_UNSET
Since 0.3.1
“display-name”
property“display-name” gchar *
The human-readable, service-specific name used to represent the PersonaStore to the user.
For example: foo@
.xmpp.example.org
This should be used whenever the user needs to be presented with a familiar, service-specific name. For instance, in a prompt for the user to select a specific IM account from which to initiate a chat.
This is not guaranteed to be unique even within this PersonaStore's FolksBackend. Its value may change throughout the life of the store.
Flags: Read / Write / Construct Only
Default value: NULL
Since 0.1.13
“id”
property“id” gchar *
The instance identifier for this PersonaStore.
Since each FolksBackend can provide multiple different PersonaStores for different accounts or servers (for example), they each need an ID which is unique within the backend.
It is immutable over the life of the FolksPersonaStore.
Flags: Read / Write / Construct Only
Default value: NULL
“is-prepared”
property“is-prepared” gboolean
Whether folks_persona_store_prepare()
has successfully completed for this store.
It’s guaranteed that this will only ever change from false
to true
in the lifetime of the FolksPersonaStore.
Flags: Read
Default value: FALSE
Since 0.3.0
“is-primary-store”
property“is-primary-store” gboolean
Whether this FolksPersonaStore is the primary store to be used for linking FolksPersonas.
Flags: Read / Write
Default value: FALSE
Since 0.6.3
“is-quiescent”
property“is-quiescent” gboolean
Whether the store has reached a quiescent state. This will happen at some point after folks_persona_store_prepare()
has successfully completed for the store. A store is in a quiescent state when all the FolksPersonas that it originally knows about have been loaded.
It's guaranteed that this property's value will only ever change after "is-prepared" has changed to true
.
Flags: Read
Default value: FALSE
Since 0.6.2
“is-user-set-default”
property“is-user-set-default” gboolean
Whether this FolksPersonaStore is marked as the default in its backend by the user.
i.e. A FolksPersonaStore for the EDS backend would set this to true
if it represents the user’s default address book.
Flags: Read / Write
Default value: FALSE
Since 0.6.3
“is-writeable”
property“is-writeable” gboolean
Whether the PersonaStore is writeable.
Only if a PersonaStore is writeable will its FolksPersonas be updated by changes to the FolksIndividuals containing them, and those changes then be written out to the relevant backing store.
If this property is false
, it doesn't mean that FolksPersonas in this persona store aren't writeable at all. If their properties are updated through the FolksPersona, rather than through the FolksIndividual containing that persona, changes may be propagated to the backing store.
PersonaStores must not set this property themselves; it will be set as appropriate by the FolksIndividualAggregator.
FolksPersonaStore:is-writeable
has been deprecated since version 0.6.3 and should not be used in newly-written code.
Replaced by “is-primary-store”.
Flags: Read / Write
Default value: FALSE
Since 0.1.13
“personas”
property “personas” GeeMap *
The FolksPersonas exposed by this PersonaStore.
Flags: Read
Since 0.5.1
“trust-level”
property“trust-level” FolksPersonaStoreTrust
The trust level of the PersonaStore for linking.
Each FolksPersonaStore is assigned a trust level by the IndividualAggregator, designating whether to trust the properties of its FolksPersonas for linking to produce FolksIndividuals.
This value may change throughout the life of the FolksPersonaStore.
The trust level may be queried by clients, but must not be set by them. The setter for this property is for libfolks internal use only.
See also: FolksPersonaStoreTrust
Flags: Read / Write
Default value: FOLKS_PERSONA_STORE_TRUST_NONE
Since 0.1.13
“type-id”
property“type-id” gchar *
The type of PersonaStore this is.
This is the same for all PersonaStores provided by a given FolksBackend.
This is guaranteed to always be available; even before folks_persona_store_prepare()
is called. It is immutable over the life of the FolksPersonaStore.
Flags: Read
Default value: NULL
“personas-changed”
signalvoid user_function (FolksPersonaStore *persona_store, GeeSet *added, GeeSet *removed, gchar *message, FolksPersona *actor, FolksGroupDetailsChangeReason reason, gpointer user_data)
Emitted when one or more FolksPersonas are added to or removed from the store.
This will not be emitted until after folks_persona_store_prepare()
has been called.
persona_store |
the FolksPersonaStore instance that received the signal |
|
added |
. a set of FolksPersonas which have been removed |
|
removed |
. a set of FolksPersonas which have been removed |
|
message |
. a string message from the backend, if any |
|
actor |
. the FolksPersona who made the change, if known |
|
reason |
. the reason for the change |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since 0.5.1
“removed”
signalvoid user_function (FolksPersonaStore *persona_store, gpointer user_data)
Emitted when the backing store for this PersonaStore has been removed.
At this point, the PersonaStore and all its FolksPersonas are invalid, so any client referencing it should unreference it.
This will not be emitted until after folks_persona_store_prepare()
has been called.
persona_store |
the FolksPersonaStore instance that received the signal |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last