| Top |
| #define | CAMEL_PROVIDER_ALLOWS() |
| #define | CAMEL_PROVIDER_NEEDS() |
| #define | CAMEL_PROVIDER_HIDDEN() |
|
|
(*CamelProviderAutoDetectFunc) () |
|
|
camel_provider_init () |
|
|
camel_provider_load () |
|
|
camel_provider_register () |
|
|
camel_provider_list () |
|
|
camel_provider_get () |
|
|
camel_provider_module_init () |
|
|
camel_provider_auto_detect () |
| #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 |
gint (*CamelProviderAutoDetectFunc) (,CamelURL *url,GHashTable **auto_detected);GError **error
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
Free the returned list with g_list_free()
CamelProvider * camel_provider_get (const,gchar *protocol);GError **error
Returns the registered protocol
, loading it
from disk if necessary. If no protocol
, or the provider module fails to load, the function
sets error
and returns NULL
The returned
gint camel_provider_auto_detect (,CamelProvider *provider,CamelURL *url,GHashTable **auto_detected);GError **error
After filling in the standard Username/Hostname/Port/Path settings
(which must be set in url
), if the provider supports it, you
may wish to have the provider auto-detect further settings based on
the aformentioned settings.
If the provider does not support auto-detection, auto_detected
will be set to NULLauto_detected
. If
for some reason it cannot auto-detect anything (not enough
information provided in url
?) then auto_detected
will be
set to NULL
#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