prepare


Description:

public async void prepare () throws Error

Prepare the IndividualAggregator for use.

This loads all the available backends and prepares them for use by the IndividualAggregator. This should be called after connecting to the IndividualAggregator.individuals_changed signal (or IndividualAggregator.individuals_changed_detailed signal), or a race condition could occur, with the signal being emitted before your code has connected to them, and Individuals getting "lost" as a result.

This function is guaranteed to be idempotent (since version 0.3.0).

Concurrent calls to this function from different threads will block until preparation has completed. However, concurrent calls to this function from a single thread might not, i.e. the first call will block but subsequent calls might return before the first one. (Though they will be safe in every other respect.)

Exceptions:

GLib.Error

if preparing any of the backends failed — this error will be passed through from BackendStore.load_backends

Since:

0.1.11