## ECollectionBackendFactory

ECollectionBackendFactory — A base class for a data source collection backend factory

## Functions

void | e_collection_backend_factory_prepare_mail ()

## Types and Values

struct | ECollectionBackendFactory
struct | ECollectionBackendFactoryClass

## Includes

    #include <libebackend/libebackend.h>

## Description

ECollectionBackendFactory is a type of EBackendFactory for creating ECollectionBackend instances.

## Functions

### e_collection_backend_factory_prepare_mail ()

    void
    e_collection_backend_factory_prepare_mail
                                   (ECollectionBackendFactory *factory,
                                    ESource *mail_account_source,
                                    ESource *mail_identity_source,
                                    ESource *mail_transport_source);

Convenience function to populate a set of ESource instances with mail account information to be added to an ECollectionBackend. This is mainly used for vendor-specific collection backends like Google or Yahoo! where the host, port, and security details are known ahead of time and only user-specific information needs to be filled in.

#### Parameters

factory | an ECollectionBackendFactory |
mail_account_source | an ESource to hold mail account information |
mail_identity_source | an ESource to hold mail identity information |
mail_transport_source | an ESource to hold mail transport information |

Since 3.6

## Types and Values

### struct ECollectionBackendFactory

    struct ECollectionBackendFactory {
    	EBackendFactory parent;
    	ECollectionBackendFactoryPrivate *priv;
    };

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

Since 3.6

### struct ECollectionBackendFactoryClass

    struct ECollectionBackendFactoryClass {
    	EBackendFactoryClass parent_class;

    	const gchar *factory_name;
    	GType backend_type;

    	/* Methods */
    	void		(*prepare_mail) (ECollectionBackendFactory *factory,
    					 ESource *mail_account_source,
    					 ESource *mail_identity_source,
    					 ESource *mail_transport_source);

    	gpointer reserved[16];
    };