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: CamelProviderFlags

No description available.

url_flags: CamelProviderURLFlags

No description available.

extra_conf: CamelProviderConfEntry

No description available.

port_entries: CamelProviderPortEntry

No description available.

object_types: GType

No description available.

authtypes: gpointer

No description available.

translation_domain: const gchar*

No description available.

priv: gpointer

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

Instance methods

camel_provider_register

Registers a provider.