### Struct

# Camel Provider

#### Description

    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;
      GHashFunc url_hash;
      GEqualFunc url_equal;
      const gchar* translation_domain;
      gpointer priv;
    }

No description available.

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

`url_hash:` `GHashFunc`

  No description available.

`url_equal:` `GEqualFunc`

  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.