Struct
CamelProvider
Description [src]
struct CamelProvider {
const gchar* protocol;
const gchar* name;
const gchar* description;
const gchar* domain;
CamelProviderFlags flags;
CamelProviderURLFlags url_flags;
CamelProviderConfEntry* extra_conf;
CamelProviderPortEntry* port_entries;
GType object_types[];
gpointer authtypes;
const gchar* translation_domain;
gpointer priv;
}
Plugin interface for mail storage and transport backends.
CamelProvider is the plugin descriptor structure that describes a mail
storage or transport backend (or both). It is the first piece of information
loaded from an external backend shared library and serves as the entry point
for the plugin mechanism.
From the client’s perspective, a provider descriptor gives enough information to present the user with the configuration questions required to set up the service, including the list of supported authentication mechanisms.
Key fields in the CamelProvider structure: - protocol: The unique, lower-case URI scheme (e.g. "imap"). - name: A short human-readable name (e.g. "IMAP"). - description: A longer description of what the backend does. - object_types: The CamelStore and/or CamelTransport GTypes to
instantiate for this backend. - authtypes: The list of supported authentication mechanisms. - url_flags: Flags describing which URI fields are required or optional.
Providers are loaded from shared libraries via camel_provider_load() and
registered with the session using camel_session_add_service(). Once registered, CamelSession uses the provider’s object_types to instantiate
the appropriate CamelService subclass when camel_session_get_service() is
called with a matching URI.
Structure members
protocol:const gchar*No description available.
name:const gchar*No description available.
description:const gchar*No description available.
domain:const gchar*No description available.
flags:CamelProviderFlagsNo description available.
url_flags:CamelProviderURLFlagsNo description available.
extra_conf:CamelProviderConfEntryNo description available.
port_entries:CamelProviderPortEntryNo description available.
object_types:GTypeNo description available.
authtypes:gpointerNo description available.
translation_domain:const gchar*No description available.
priv:gpointerNo description available.
Functions
camel_provider_get
Returns the registered CamelProvider for protocol, loading it
from disk if necessary. If no CamelProvider can be found for
protocol, or the provider module fails to load, the function sets error and returns NULL.
camel_provider_init
Initialize the Camel provider system by reading in the .urls files in the provider directory and creating a hash table mapping URLs to module names.
camel_provider_list
This returns a list of available providers. If load is TRUE, it will
first load in all available providers that haven’t yet been loaded.
camel_provider_load
Loads the provider at path, and calls its initialization function, passing session as an argument. The provider should then register
itself with session.