### Class

# EDataServer SourceRegistry

since: 3.6

#### Description [src]

    class EDataServer.SourceRegistry : GObject.Object
      implements Gio.AsyncInitable, Gio.Initable {
      /* No available fields */
    }

Contains only private data that should be read and manipulated using the functions below.

Available since: 3.6

#### Hierarchy

#### Ancestors

- GObject

#### Implements

- GAsyncInitable
- GInitable

#### Constructors

###### e_source_registry_new_finish

Finishes the operation started with e_source_registry_new_finish(). If an error occurs in connecting to the D-Bus service, the function sets `error` and returns `NULL`.

since: 3.6

###### e_source_registry_new_sync

Creates a new `ESourceRegistry` front-end for the registry D-Bus service. If an error occurs in connecting to the D-Bus service, the function sets `error` and returns `NULL`.

since: 3.6

#### Functions

###### e_source_registry_debug_enabled

No description available.

since: 3.16

###### e_source_registry_debug_print

Prints the text only if a debugging is enabled with an environment variable ESR_DEBUG=1.

since: 3.16

###### e_source_registry_free_display_tree

Convenience function to free a `GNode` tree of registered sources created by e_source_registry_build_display_tree().

since: 3.6

###### e_source_registry_new

Asynchronously creates a new `ESourceRegistry` front-end for the registry D-Bus service.

since: 3.6

#### Instance methods

###### e_source_registry_build_display_tree

Returns a single `GNode` tree of registered sources that can be used to populate a `GtkTreeModel`. (The root `GNode` is just an empty placeholder.).

since: 3.6

###### e_source_registry_check_enabled

Determines whether `source` is “effectively” enabled by examining its own `ESource:enabled` property as well as those of its ancestors in the `ESource` hierarchy. If all examined `ESource:enabled` properties are `TRUE`, then the function returns `TRUE`. If any are `FALSE`, then the function returns `FALSE`.

since: 3.8

###### e_source_registry_commit_source

See `e_source_registry_commit_source_sync()` for details.

since: 3.6

###### e_source_registry_commit_source_finish

Finishes the operation started with e_source_registry_commit_source().

since: 3.6

###### e_source_registry_commit_source_sync

This is a convenience function intended for use with graphical `ESource` editors. Call this function when the user is finished making changes to `source`.

since: 3.6

###### e_source_registry_create_sources

Asynchronously requests the D-Bus service create new key files for each `ESource` in `list_of_sources`. Each list element must be a scratch `ESource` with no `GDBusObject`.

since: 3.6

###### e_source_registry_create_sources_finish

Finishes the operation started with e_source_registry_create_sources().

since: 3.6

###### e_source_registry_create_sources_sync

Requests the D-Bus service create new key files for each `ESource` in `list_of_sources`. Each list element must be a scratch `ESource` with no `GDBusObject`.

since: 3.6

###### e_source_registry_debug_dump

Handy debugging function that uses `e_source_registry_build_display_tree()` to print a tree of registered sources to standard output.

since: 3.6

###### e_source_registry_dup_unique_display_name

Compares `source`‘s `ESource:display-name` against other sources having an `ESourceExtension` named `extension_name`, if given, or else against all other sources in the `registry`.

since: 3.8

###### e_source_registry_find_extension

Examines `source` and its ancestors and returns the “deepest” `ESource` having an `ESourceExtension` with the given `extension_name`. If neither `source` nor any of its ancestors have such an extension, the function returns `NULL`.

since: 3.6

###### e_source_registry_get_oauth2_services

No description available.

since: 3.28

###### e_source_registry_list_enabled

Similar to e_source_registry_list_sources(), but returns only enabled sources according to e_source_registry_check_enabled().

since: 3.10

###### e_source_registry_list_sources

Returns a list of registered sources, sorted by display name. If `extension_name` is given, restrict the list to sources having that extension name.

since: 3.6

###### e_source_registry_ref_builtin_address_book

Returns the built-in address book `ESource`.

since: 3.6

###### e_source_registry_ref_builtin_calendar

Returns the built-in calendar `ESource`.

since: 3.6

###### e_source_registry_ref_builtin_mail_account

Returns the built-in mail account `ESource`.

since: 3.6

###### e_source_registry_ref_builtin_memo_list

Returns the built-in memo list `ESource`.

since: 3.6

###### e_source_registry_ref_builtin_proxy

Returns the built-in proxy profile `ESource`.

since: 3.12

###### e_source_registry_ref_builtin_task_list

Returns the built-in task list `ESource`.

since: 3.6

###### e_source_registry_ref_default_address_book

Returns the `ESource` most recently passed to `e_source_registry_set_default_address_book()` either in this session or a previous session, or else falls back to the built-in address book.

since: 3.6

###### e_source_registry_ref_default_calendar

Returns the `ESource` most recently passed to `e_source_registry_set_default_calendar()` either in this session or a previous session, or else falls back to the built-in calendar.

since: 3.6

###### e_source_registry_ref_default_for_extension_name

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

since: 3.6

###### e_source_registry_ref_default_mail_account

Returns the `ESource` most recently passed to `e_source_registry_set_default_mail_account()` either in this session or a previous session, or else falls back to the built-in mail account.

since: 3.6

###### e_source_registry_ref_default_mail_identity

Returns the `ESource` most recently passed to `e_source_registry_set_default_mail_identity()` either in this session or a previous session, or else falls back to the mail identity named by the default mail account. If even that fails it returns any mail identity from `registry`, or `NULL` if there are none.

since: 3.6

###### e_source_registry_ref_default_memo_list

Returns the `ESource` most recently passed to `e_source_registry_set_default_memo_list()` either in this session or a previous session, or else falls back to the built-in memo list.

since: 3.6

###### e_source_registry_ref_default_task_list

Returns the `ESource` most recently passed to `e_source_registry_set_default_task_list()` either in this session or a previous session, or else falls back to the built-in task list.

since: 3.6

###### e_source_registry_ref_source

Looks up an `ESource` in `registry` by its unique identifier string.

since: 3.6

###### e_source_registry_refresh_backend

Asynchronously requests the D-Bus service to refresh collection backend for an `ESource` with UID `source_uid`. The result means that the refresh had been scheduled not whether the refresh itself succeeded. The refresh is not initiated when the collection backend is offline.

since: 3.30

###### e_source_registry_refresh_backend_finish

Finishes the operation started with e_source_registry_refresh_backend().

since: 3.30

###### e_source_registry_refresh_backend_sync

Requests the D-Bus service to refresh collection backend for an `ESource` with UID `source_uid`. The result means that the refresh had been scheduled not whether the refresh itself succeeded. The refresh is not initiated when the collection backend is offline.

since: 3.30

###### e_source_registry_set_default_address_book

Sets `default_source` as the default address book. If `default_source` is `NULL`, the default address book is reset to the built-in address book. This setting will persist across sessions until changed.

since: 3.6

###### e_source_registry_set_default_calendar

Sets `default_source` as the default calendar. If `default_source` is `NULL`, the default calendar is reset to the built-in calendar. This setting will persist across sessions until changed.

since: 3.6

###### e_source_registry_set_default_for_extension_name

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

since: 3.6

###### e_source_registry_set_default_mail_account

Sets `default_source` as the default mail account. If `default_source` is `NULL`, the default mail account is reset to the built-in mail account. This setting will persist across sessions until changed.

since: 3.6

###### e_source_registry_set_default_mail_identity

Sets `default_source` as the default mail identity. If `default_source` is `NULL`, the next request for the default mail identity will use the fallbacks described in e_source_registry_ref_default_mail_identity().

since: 3.6

###### e_source_registry_set_default_memo_list

Sets `default_source` as the default memo list. If `default_source` is `NULL`, the default memo list is reset to the built-in memo list. This setting will persist across sessions until changed.

since: 3.6

###### e_source_registry_set_default_task_list

Sets `default_source` as the default task list. If `default_source` is `NULL`, the default task list is reset to the built-in task list. This setting will persist across sessions until changed.

since: 3.6

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GAsyncInitable (3)

###### g_async_initable_init_async

Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements `GInitable` you can optionally call `g_initable_init()` instead.

###### g_async_initable_init_finish

Finishes asynchronous initialization and returns the result. See g_async_initable_init_async().

###### g_async_initable_new_finish

Finishes the async construction for the various g_async_initable_new calls, returning the created object or `NULL` on error.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### EDataServer.SourceRegistry:default-address-book

The default address book ESource.

###### EDataServer.SourceRegistry:default-calendar

The default calendar ESource.

###### EDataServer.SourceRegistry:default-mail-account

The default mail account ESource.

###### EDataServer.SourceRegistry:default-mail-identity

The default mail identity ESource.

###### EDataServer.SourceRegistry:default-memo-list

The default memo list ESource.

###### EDataServer.SourceRegistry:default-task-list

The default task list ESource.

#### Signals

###### EDataServer.SourceRegistry::credentials-required

The ::credentials-required signal is emitted when the `source` requires credentials to connect to (possibly remote) data store. The credentials can be passed to the source using `e_source_invoke_authenticate()` function. The signal is emitted in the thread-default main context from the time the `registry` was created.

###### EDataServer.SourceRegistry::source-added

Emitted when an `ESource` is added to `registry`.

###### EDataServer.SourceRegistry::source-changed

Emitted when an `ESource` registered with `registry` emits its `ESource::changed` signal.

###### EDataServer.SourceRegistry::source-disabled

Emitted when an `ESource` `ESource:enabled` property becomes `FALSE`.

###### EDataServer.SourceRegistry::source-enabled

Emitted when an `ESource` `ESource:enabled` property becomes `TRUE`.

###### EDataServer.SourceRegistry::source-removed

Emitted when an `ESource` is removed from `registry`.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct EDataServerSourceRegistryClass {
      GObjectClass parent_class;
      void (* source_added) (
        ESourceRegistry* registry,
        ESource* source
      );
      void (* source_changed) (
        ESourceRegistry* registry,
        ESource* source
      );
      void (* source_removed) (
        ESourceRegistry* registry,
        ESource* source
      );
      void (* source_enabled) (
        ESourceRegistry* registry,
        ESource* source
      );
      void (* source_disabled) (
        ESourceRegistry* registry,
        ESource* source
      );
      void (* credentials_required) (
        ESourceRegistry* registry,
        ESource* source,
        ESourceCredentialsReason reason,
        const gchar* certificate_pem,
        GTlsCertificateFlags certificate_errors,
        const GError* op_error
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`source_added: void (* source_added) ( ESourceRegistry* registry, ESource* source )`

  No description available.

`source_changed: void (* source_changed) ( ESourceRegistry* registry, ESource* source )`

  No description available.

`source_removed: void (* source_removed) ( ESourceRegistry* registry, ESource* source )`

  No description available.

`source_enabled: void (* source_enabled) ( ESourceRegistry* registry, ESource* source )`

  No description available.

`source_disabled: void (* source_disabled) ( ESourceRegistry* registry, ESource* source )`

  No description available.

`credentials_required: void (* credentials_required) ( ESourceRegistry* registry, ESource* source, ESourceCredentialsReason reason, const gchar* certificate_pem, GTlsCertificateFlags certificate_errors, const GError* op_error )`

  No description available.

#### Virtual methods

###### EDataServer.SourceRegistryClass.credentials_required

No description available.

###### EDataServer.SourceRegistryClass.source_added

No description available.

###### EDataServer.SourceRegistryClass.source_changed

No description available.

###### EDataServer.SourceRegistryClass.source_disabled

No description available.

###### EDataServer.SourceRegistryClass.source_enabled

No description available.

###### EDataServer.SourceRegistryClass.source_removed

No description available.