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

## Synopsis

    #include <libebackend/libebackend.h>

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

## Description

ECollectionBackendFactory is a type of EBackendFactory for creating ECollectionBackend instances.

## Details

### 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];
    };

### 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.

`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