| Evolution-Data-Server Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <libebackend/libebackend.h> struct EDataFactory; struct EDataFactoryClass; EBackend * e_data_factory_ref_backend (EDataFactory *data_factory,const gchar *hash_key,ESource *source); EBackend * e_data_factory_ref_initable_backend (EDataFactory *data_factory,const gchar *hash_key,ESource *source,GCancellable *cancellable,GError **error); EBackendFactory * e_data_factory_ref_backend_factory (EDataFactory *data_factory,const gchar *hash_key);
struct EDataFactory {
EDBusServer parent;
EDataFactoryPrivate *priv;
};
Contains only private data that should be read and manipulated using the functions below.
Since 3.4
struct EDataFactoryClass {
EDBusServerClass parent_class;
GType backend_factory_type;
/* Signals */
void (*backend_created) (EDataFactory *data_factory,
EBackend *backend);
gpointer reserved[15];
};
EBackend * e_data_factory_ref_backend (EDataFactory *data_factory,const gchar *hash_key,ESource *source);
Returns either a newly-created or existing EBackend for ESource.
The returned EBackend is referenced for thread-safety and must be
unreferenced with g_object_unref() when finished with it.
The data_factory retains a weak reference to backend so it can return
the same instance while backend is in use. When the last strong reference
to backend is dropped, data_factory will lose its weak reference and will
have to create a new EBackend instance the next time the same hash_key
and source are requested.
If no suitable EBackendFactory exists, the function returns NULL.
|
an EDataFactory |
|
hash key for an EBackendFactory |
|
an ESource |
Returns : |
an EBackend for source, or NULL
|
Since 3.6
EBackend * e_data_factory_ref_initable_backend (EDataFactory *data_factory,const gchar *hash_key,ESource *source,GCancellable *cancellable,GError **error);
Similar to e_data_factory_ref_backend(), but allows for backends that
implement the GInitable interface so they can fail gracefully if they
are unable to initialize critical resources, such as a cache database.
Returns either a newly-created or existing EBackend for ESource.
The returned EBackend is referenced for thread-safety and must be
unreferenced with g_object_unref() when finished with it.
If the newly-created backend implements the GInitable interface, then
g_initable_init() is also called on it using cancellable and error.
The data_factory retains a weak reference to backend so it can return
the same instance while backend is in use. When the last strong reference
to backend is dropped, data_factory will lose its weak reference and will
have to create a new EBackend instance the next time the same hash_key
and source are requested.
If no suitable EBackendFactory exists, or if the EBackend fails to
initialize, the function sets error and returns NULL.
|
an EDataFactory |
|
hash key for an EBackendFactory |
|
an ESource |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
an EBackend for source, or NULL
|
Since 3.8
EBackendFactory * e_data_factory_ref_backend_factory (EDataFactory *data_factory,const gchar *hash_key);
Returns the EBackendFactory for hash_key, or NULL if no such factory
is registered.
The returned EBackendFactory is referenced for thread-safety.
Unreference the EBackendFactory with g_object_unref() when finished
with it.
|
an EDataFactory |
|
hash key for an EBackendFactory |
Returns : |
the EBackendFactory for hash_key, or NULL
|
Since 3.6