EDataFactory

EDataFactory — An abstract base class for a backend-based server

Synopsis

#include <libebackend/e-data-factory>

struct              EDataFactory;
EBackend *          e_data_factory_ref_backend          (EDataFactory *data_factory,
                                                         const gchar *hash_key,
                                                         ESource *source);
EBackendFactory *   e_data_factory_ref_backend_factory  (EDataFactory *data_factory,
                                                         const gchar *hash_key);

Object Hierarchy

  GObject
   +----EDBusServer
         +----EDataFactory

Implemented Interfaces

EDataFactory implements EExtensible.

Description

Details

struct EDataFactory

struct EDataFactory;

Contains only private data that should be read and manipulated using the functions below.

Since 3.4


e_data_factory_ref_backend ()

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.

data_factory :

an EDataFactory

hash_key :

hash key for an EBackendFactory

source :

an ESource

Returns :

an EBackend for source, or NULL

Since 3.6


e_data_factory_ref_backend_factory ()

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.

data_factory :

an EDataFactory

hash_key :

hash key for an EBackendFactory

Returns :

the EBackendFactory for hash_key, or NULL

Since 3.6