|  |  |  | Evolution Utilities Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | ||||
#include <e-util/e-util.h> struct EPhotoCache; EPhotoCache * e_photo_cache_new (EClientCache *client_cache); EClientCache * e_photo_cache_ref_client_cache (EPhotoCache *photo_cache); void e_photo_cache_add_photo_source (EPhotoCache *photo_cache,EPhotoSource *photo_source); GList * e_photo_cache_list_photo_sources (EPhotoCache *photo_cache); gboolean e_photo_cache_remove_photo_source (EPhotoCache *photo_cache,EPhotoSource *photo_source); void e_photo_cache_add_photo (EPhotoCache *photo_cache,const gchar *email_address,GBytes *bytes); gboolean e_photo_cache_remove_photo (EPhotoCache *photo_cache,const gchar *email_address); gboolean e_photo_cache_get_photo_sync (EPhotoCache *photo_cache,const gchar *email_address,GCancellable *cancellable,GInputStream **out_stream,GError **error); void e_photo_cache_get_photo (EPhotoCache *photo_cache,const gchar *email_address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); gboolean e_photo_cache_get_photo_finish (EPhotoCache *photo_cache,GAsyncResult *result,GInputStream **out_stream,GError **error);
EPhotoCache finds photos associated with an email address.
A limited internal cache is employed to speed up frequently searched email addresses. The exact caching semantics are private and subject to change.
struct EPhotoCache;
Contains only private data that should be read and manipulated using the functions below.
EPhotoCache *       e_photo_cache_new                   (EClientCache *client_cache);
Creates a new EPhotoCache instance.
| 
 | an EClientCache | 
| Returns : | an EPhotoCache | 
EClientCache *      e_photo_cache_ref_client_cache      (EPhotoCache *photo_cache);
Returns the EClientCache passed to e_photo_cache_new().
The returned EClientCache is referenced for thread-safety and must be
unreferenced with g_object_unref() when finished with it.
| 
 | an EPhotoCache | 
| Returns : | an EClientCache | 
void e_photo_cache_add_photo_source (EPhotoCache *photo_cache,EPhotoSource *photo_source);
Adds photo_source as a potential source of photos.
| 
 | an EPhotoCache | 
| 
 | an EPhotoSource | 
GList *             e_photo_cache_list_photo_sources    (EPhotoCache *photo_cache);
Returns a list of photo sources for photo_cache.
The sources returned in the list are referenced for thread-safety.
They must each be unreferenced with g_object_unref() when finished
with them.  Free the returned list itself with g_list_free().
An easy way to free the list property in one step is as follows:
| 1 | g_list_free_full (list, g_object_unref); | 
| 
 | an EPhotoCache | 
| Returns : | a sorted list of photo sources | 
gboolean e_photo_cache_remove_photo_source (EPhotoCache *photo_cache,EPhotoSource *photo_source);
Removes photo_source as a potential source of photos.
| 
 | an EPhotoCache | 
| 
 | an EPhotoSource | 
| Returns : | TRUEifphoto_sourcewas found and removed,FALSEif not | 
void e_photo_cache_add_photo (EPhotoCache *photo_cache,const gchar *email_address,GBytes *bytes);
Adds a cache entry for email_address, such that subsequent photo requests
for email_address will yield a GMemoryInputStream loaded with bytes
without consulting available photo sources.
The bytes argument can also be NULL to indicate no photo is available for
email_address.  Subsequent photo requests for email_address will yield no
input stream.
The entry may be removed without notice however, subject to photo_cache's
internal caching policy.
| 
 | an EPhotoCache | 
| 
 | an email address | 
| 
 | a GBytes containing photo data, or NULL | 
gboolean e_photo_cache_remove_photo (EPhotoCache *photo_cache,const gchar *email_address);
Removes the cache entry for email_address, if such an entry exists.
| 
 | an EPhotoCache | 
| 
 | an email address | 
| Returns : | TRUEif a cache entry was found and removed | 
gboolean e_photo_cache_get_photo_sync (EPhotoCache *photo_cache,const gchar *email_address,GCancellable *cancellable,GInputStream **out_stream,GError **error);
Searches available photo sources for a photo associated with
email_address.
If a match is found, a GInputStream from which to read image data is
returned through the out_stream return location.  If no match is found,
the out_stream return location is set to NULL.
The return value indicates whether the search completed successfully,
not whether a match was found.  If an error occurs, the function will
set error and return FALSE.
| 
 | an EPhotoCache | 
| 
 | an email address | 
| 
 | optional GCancellable object, or NULL | 
| 
 | return location for a GInputStream, or NULL | 
| 
 | return location for a GError, or NULL | 
| Returns : | whether the search completed successfully | 
void e_photo_cache_get_photo (EPhotoCache *photo_cache,const gchar *email_address,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
Asynchronously searches available photo sources for a photo associated
with email_address.
When the operation is finished, callback will be called.  You can then
call e_photo_cache_get_photo_finish() to get the result of the operation.
| 
 | an EPhotoCache | 
| 
 | an email address | 
| 
 | optional GCancellable object, or NULL | 
| 
 | a GAsyncReadyCallback to call when the request is satisfied | 
| 
 | data to pass to the callback function | 
gboolean e_photo_cache_get_photo_finish (EPhotoCache *photo_cache,GAsyncResult *result,GInputStream **out_stream,GError **error);
Finishes the operation started with e_photo_cache_get_photo().
If a match was found, a GInputStream from which to read image data is
returned through the out_stream return location.  If no match was found,
the out_stream return location is set to NULL.
The return value indicates whether the search completed successfully,
not whether a match was found.  If an error occurred, the function will
set error and return FALSE.
| 
 | an EPhotoCache | 
| 
 | a GAsyncResult | 
| 
 | return location for a GInputStream, or NULL | 
| 
 | return location for a GError, or NULL | 
| Returns : | whether the search completed successfully | 
"client-cache" property"client-cache" EClientCache* : Read / Write / Construct Only
Cache of shared EClient instances.