![]() |
![]() |
![]() |
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 : |
TRUE if photo_source was found and removed, FALSE if 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 : |
TRUE if 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.