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.
a #CamelProvider protocol name
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?
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.
whether or not to load in providers that are not already loaded
Loads the provider at path,
and calls its initialization function,
passing session
as an argument. The provider should then register
itself with session
.
the path to a shared library
Registers a provider.