### Function

# EDataServer SourceCamel generate_subtype

since: 3.6

#### Declaration [src]

    GType
    e_source_camel_generate_subtype (
      const gchar* protocol,
      GType settings_type
    )

#### Description [src]

Generates a custom `ESourceCamel` subtype for `protocol`. Instances of the new subtype will contain a `CamelSettings` instance of type `settings_type`.

This function is called as part of `e_source_camel_register_types()` and should not be called explicitly, except by some groupware packages that need to share package-specific settings across their mail, calendar and address book components. In that case the groupware package may choose to subclass `CamelSettings` rather than `ESourceExtension` since libcamel is the lowest common denominator across all components. This function provides a way for the calendar and address book components of such a package to generate an `ESourceCamel` subtype for its `CamelSettings` subtype without having to load all available `CamelProvider` modules.

Available since: 3.6

#### Parameters

`protocol`

  Type: `const gchar*`

  A `CamelProvider` protocol.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`settings_type`

  Type: `GType`

  A subtype of `CamelSettings`.

#### Return value

Type: `GType`

The `GType` of the generated `ESourceCamel` subtype.