| Top |  |  |  |  | 
| EClientCache * | e_client_cache_new () | 
|  | e_client_cache_ref_registry () | 
|  | e_client_cache_get_client_sync () | 
|  | e_client_cache_get_client () | 
|  | e_client_cache_get_client_finish () | 
|  | e_client_cache_ref_cached_client () | 
|  | e_client_cache_is_backend_dead () | 
|  | e_client_cache_emit_allow_auth_prompt () | 
EClientCache provides for application-wide sharing of 
EClientCache automatically invalidates cache entries in response to
EClientCache *
e_client_cache_new (ESourceRegistry  *registry
Creates a new EClientCache instance.
ESourceRegistry * e_client_cache_ref_registry (EClientCache *client_cache);
Returns the e_client_cache_new().
The returned g_object_unref()
EClient * e_client_cache_get_client_sync (EClientCache *client_cache,,ESource *sourceconst,gchar *extension_name,guint32 wait_for_connected_seconds,GCancellable *cancellable);GError **error
Obtains a shared source
, or else creates a new
The extension_name
 determines the type of extension_name
 values are:
The source
 must already have an extension_name
 values will
result in an error.
The wait_for_connected_seconds
 argument had been added since 3.16,
to let the caller decide how long to wait for the backend to fully
connect to its (possibly remote) data store. This is required due
to a change in the authentication process, which is fully asynchronous
and done on the client side, while not every client is supposed to
response to authentication requests. In case the backend will not connect
within the set interval, then it is opened in an offline mode. A special
value -1 can be used to not wait for the connected state at all.
If a request for the same source
 and extension_name
 is already in
progress when this function is called, this request will "piggyback"
on the in-progress request such that they will both succeed or fail
simultaneously.
Unreference the returned g_object_unref()error
 and return
NULL
| client_cache | an EClientCache | |
| source | an  | |
| extension_name | an extension name | |
| wait_for_connected_seconds | timeout, in seconds, to wait for the backend to be fully connected | |
| cancellable | optional  | |
| error | return location for a  | 
void e_client_cache_get_client (EClientCache *client_cache,,ESource *sourceconst,gchar *extension_name,guint32 wait_for_connected_seconds,GCancellable *cancellable,GAsyncReadyCallback callback);gpointer user_data
Asynchronously obtains a shared source
, or else
creates a new 
The extension_name
 determines the type of extension_name
 values are:
The source
 must already have an extension_name
 values will
result in an error.
The wait_for_connected_seconds
 argument had been added since 3.16,
to let the caller decide how long to wait for the backend to fully
connect to its (possibly remote) data store. This is required due
to a change in the authentication process, which is fully asynchronous
and done on the client side, while not every client is supposed to
response to authentication requests. In case the backend will not connect
within the set interval, then it is opened in an offline mode. A special
value -1 can be used to not wait for the connected state at all.
If a request for the same source
 and extension_name
 is already in
progress when this function is called, this request will "piggyback"
on the in-progress request such that they will both succeed or fail
simultaneously.
When the operation is finished, callback
 will be called.  You can
then call e_client_cache_get_client_finish() to get the result of the
operation.
| client_cache | an EClientCache | |
| source | an  | |
| extension_name | an extension name | |
| wait_for_connected_seconds | timeout, in seconds, to wait for the backend to be fully connected | |
| cancellable | optional  | |
| callback | a  | |
| user_data | data to pass to the callback function | 
EClient * e_client_cache_get_client_finish (EClientCache *client_cache,,GAsyncResult *result);GError **error
Finishes the operation started with e_client_cache_get_client().
Unreference the returned g_object_unref()error
 and return
NULL
| client_cache | an EClientCache | |
| result | a  | |
| error | return location for a  | 
EClient * e_client_cache_ref_cached_client (EClientCache *client_cache,,ESource *sourceconst);gchar *extension_name
Returns a shared source
 and extension_name
 if
such an instance is already cached, or else NULL
See e_client_cache_get_client() for valid extension_name
 values.
The returned g_object_unref()
gboolean e_client_cache_is_backend_dead (EClientCache *client_cache,,ESource *sourceconst);gchar *extension_name
Returns TRUEsource
 and extension_name
was recently discarded after having emitted a 
void e_client_cache_emit_allow_auth_prompt (EClientCache *client_cache,);ESource *source
Emits 'allow-auth-prompt' on client_cache
 for source
. This lets
any listeners know to enable credentials prompt for this source
.
Since: 3.16