Top | ![]() |
![]() |
![]() |
![]() |
#define | CAMEL_PROVIDER_ALLOWS() |
#define | CAMEL_PROVIDER_NEEDS() |
#define | CAMEL_PROVIDER_HIDDEN() |
void | camel_provider_init () |
gboolean | camel_provider_load () |
void | camel_provider_register () |
GList * | camel_provider_list () |
CamelProvider * | camel_provider_get () |
void | camel_provider_module_init () |
#define | EDS_CAMEL_PROVIDER_DIR |
#define | CAMEL_URL_PART_USER |
#define | CAMEL_URL_PART_AUTH |
#define | CAMEL_URL_PART_PASSWORD |
#define | CAMEL_URL_PART_HOST |
#define | CAMEL_URL_PART_PORT |
#define | CAMEL_URL_PART_PATH |
#define | CAMEL_URL_PART_PATH_DIR |
#define | CAMEL_URL_PART_NEED |
#define | CAMEL_URL_PART_HIDDEN |
enum | CamelProviderURLFlags |
CamelProviderConfEntry | |
CamelProviderPortEntry | |
struct | CamelProviderModule |
void
camel_provider_init (void
);
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.
A .urls file has the same initial prefix as the shared library it correspond to, and consists of a series of lines containing the URL protocols that that library handles.
TODO: This should be pathed? TODO: This should be plugin-d?
gboolean camel_provider_load (const gchar *path
,GError **error
);
Loads the provider at path
, and calls its initialization function,
passing session
as an argument. The provider should then register
itself with session
.
void
camel_provider_register (CamelProvider *provider
);
Registers a provider.
GList *
camel_provider_list (gboolean load
);
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.
Free the returned list with g_list_free()
. The CamelProvider structs
in the list are owned by Camel and should not be modified or freed.
CamelProvider * camel_provider_get (const gchar *protocol
,GError **error
);
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
.
The returned CamelProvider is owned by Camel and should not be modified or freed.
#define EDS_CAMEL_PROVIDER_DIR "EDS_CAMEL_PROVIDER_DIR"
This environment variable configures where the camel provider modules are loaded from.
typedef struct { CamelProviderConfType type; const gchar *name, *depname; const gchar *text, *value; } CamelProviderConfEntry;
typedef struct { gint port; const gchar *desc; gboolean is_ssl; } CamelProviderPortEntry;
Since: 3.2