aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-client-cache.c
Commit message (Collapse)AuthorAgeFilesLines
* Bug 700277 - EClientCache allocates memory ad infinityMatthew Barnes2013-05-301-0/+95
| | | | | Remove a ClientData entry on "source-removed" or "source-disabled" signals from the ESourceRegistry.
* client_cache_process_results: Fix runtime warnings.Matthew Barnes2013-03-151-1/+1
| | | | | | | | Use g_simple_async_result_complete_in_idle() so the queued results complete in the correct main loop context. Otherwise we get runtime warnings: "g_simple_async_result_complete() called from wrong context!"
* EClientCache cleanups.Matthew Barnes2013-02-281-89/+95
|
* EClientCache: Use e_source_registry_dup_unique_display_name().Matthew Barnes2013-02-231-54/+50
| | | | Use a standard format for naming an ESource in user-visible messages.
* Add e_client_cache_is_backend_dead().Matthew Barnes2013-02-211-0/+48
| | | | | | Returns TRUE if an EClient instance for the given source and extension name was recently discarded after having emitted a "backend-died" signal, and a replacement EClient instance has not yet been created.
* EClientCache: Don't emit signals while holding a lock.Matthew Barnes2013-02-211-2/+28
| | | | | Jeez, I should know this by now. Schedule an idle callback on the internal GMainContext to emit the signal like we do for other signals.
* EClientCache: Add a "client-notify" signal.Matthew Barnes2013-02-211-1/+101
| | | | Rebroadcasts a GObject::notify signal emitted by a cached EClient.
* EClientCache: Fix some signal handler ID variable names.Matthew Barnes2013-02-211-10/+10
|
* EClientCache: Keep a strong reference on the ESourceRegistry.Matthew Barnes2013-02-181-20/+19
| | | | | | | | Changed my mind. There's some scenarios where a function depends on an ESourceRegistry but could also utilize an EClientCache, and it would be nice to just pass the EClientCache and extract the ESourceRegistry from it, so we need to make sure the ESourceRegistry will be there when it's needed and not quietly disappear.
* Add EClientCache.Matthew Barnes2013-02-171-0/+1079
New class to help reduce code duplication and centralize some EClient handling policies. Benefits: - EClient instances can be shared across the entire application. - Centralized rebroadcasting of "backend-died" and "backend-error" signals emitted from cached EClient instances. - Automatic cache invalidation when backends crash. The EClient is discarded, and a new instance is created on the next request.