### Method

# EDataServer SourceRegistry ref_default_for_extension_name

since: 3.6

#### Declaration [src]

    ESource*
    e_source_registry_ref_default_for_extension_name (
      ESourceRegistry* registry,
      const gchar* extension_name
    )

#### Description [src]

This is a convenience function to return a default `ESource` based on `extension_name`. This only works with a subset of extension names.

If `extension_name` is #E_SOURCE_EXTENSION_ADDRESS_BOOK, the function returns the current default address book, or else falls back to the built-in address book.

If `extension_name` is #E_SOURCE_EXTENSION_CALENDAR, the function returns the current default calendar, or else falls back to the built-in calendar.

If `extension_name` is #E_SOURCE_EXTENSION_MAIL_ACCOUNT, the function returns the current default mail account, or else falls back to the built-in mail account.

If `extension_name` is #E_SOURCE_EXTENSION_MAIL_IDENTITY, the function returns the current default mail identity, or else falls back to the mail identity named by the current default mail account.

If `extension_name` is #E_SOURCE_EXTENSION_MEMO_LIST, the function returns the current default memo list, or else falls back to the built-in memo list.

If `extension_name` is #E_SOURCE_EXTENSION_TASK_LIST, the function returns the current default task list, or else falls back to the built-in task list.

For all other values of `extension_name`, the function returns `NULL`.

The returned `ESource` is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

Available since: 3.6

#### Parameters

`extension_name`

  Type: `const gchar*`

  An extension_name.

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

#### Return value

Type: `ESource`

The default `ESource` based on `extension_name`.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be `NULL`.