EPhotoSource

EPhotoSource — A source of email address photos

Types and Values

Object Hierarchy

    GInterface
    ╰── EPhotoSource

Includes

#include <e-util/e-util.h>

Description

EPhotoSource is an interface used to extend the functionality of EPhotoCache. You can add an object implementing EPhotoSource to an EPhotoCache with e_photo_cache_add_photo_source() and remove it with e_photo_cache_remove_photo_source(). When EPhotoCache needs a photo for an email address it will invoke e_photo_source_get_photo() on all available EPhotoSource objects simultaneously and select one photo.

Functions

e_photo_source_get_photo ()

void
e_photo_source_get_photo (EPhotoSource *photo_source,
                          const gchar *email_address,
                          GCancellable *cancellable,
                          GAsyncReadyCallback callback,
                          gpointer user_data);

Asynchronously searches for a photo for email_address .

When the operation is finished, callback will be called. You can then call e_photo_source_get_photo_finish() to get the result of the operation.

Parameters

photo_source

an EPhotoSource

 

email_address

an email address

 

cancellable

optional GCancellable object, or NULL

 

callback

a GAsyncReadyCallback to call when the request is satisfied

 

user_data

data to pass to the callback function

 

e_photo_source_get_photo_finish ()

gboolean
e_photo_source_get_photo_finish (EPhotoSource *photo_source,
                                 GAsyncResult *result,
                                 GInputStream **out_stream,
                                 gint *out_priority,
                                 GError **error);

Finishes the operation started with e_photo_source_get_photo().

If a match was found, a GInputStream from which to read image data is returned through the out_stream return location, and a suggested priority value for the match is returned through the out_priority return location.

You can use the out_priority value to rank this result among other EPhotoSource results. The value is usually G_PRIORITY_DEFAULT , but may be G_PRIORITY_LOW if the result is a fallback image.

If no match was found, the out_stream return location is set to NULL (the out_priority return location will remain unset).

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.

Parameters

photo_source

an EPhotoSource

 

result

a GAsyncResult

 

out_stream

return location for a GInputStream

 

out_priority

return location for a priority value, or NULL

 

error

return location for a GError, or NULL

 

Returns

whether the search completed successfully

Types and Values

struct EPhotoSourceInterface

struct EPhotoSourceInterface {
	GTypeInterface parent_interface;

	void		(*get_photo)		(EPhotoSource *photo_source,
						 const gchar *email_address,
						 GCancellable *cancellable,
						 GAsyncReadyCallback callback,
						 gpointer user_data);
	gboolean (*get_photo_finish) (EPhotoSource *photo_source,
						 GAsyncResult *result,
						 GInputStream **out_stream,
						 gint *out_priority,
						 GError **error);
};