EConfigLookup

EConfigLookup — Configuration lookup

Functions

Properties

gboolean busy Read
ESourceRegistry * registry Read / Write / Construct Only

Signals

gpointer get-source Action
void result-added Run Last
void worker-finished Run Last
void worker-started Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── EConfigLookup

Implemented Interfaces

EConfigLookup implements EExtensible.

Includes

#include <e-util/e-util.h>

Description

EConfigLookup is used to search for configuration of an account, which is identified by an e-mail address, server address or such. It is an EExtensible object, where the extensions connect to the “run” signal to run the configuration lookup.

Functions

e_config_lookup_new ()

EConfigLookup *
e_config_lookup_new (ESourceRegistry *registry);

Creates a new EConfigLookup instance.

Parameters

registry

an ESourceRegistry

 

Returns

a new EConfigLookup.

[transfer full]

Since: 3.26


e_config_lookup_get_registry ()

ESourceRegistry *
e_config_lookup_get_registry (EConfigLookup *config_lookup);

Returns the ESourceRegistry passed to e_config_lookup_new().

Parameters

config_lookup

an EConfigLookup

 

Returns

an ESourceRegistry.

[transfer none]

Since: 3.26


e_config_lookup_get_source ()

ESource *
e_config_lookup_get_source (EConfigLookup *config_lookup,
                            EConfigLookupSourceKind kind);

Emits the “get-source” signal and any listener can provide the source. The function can return NULL, when there are no listeners or when such source is not available.

Parameters

config_lookup

an EConfigLookup

 

kind

one of EConfigLookupSourceKind, except of the E_CONFIG_LOOKUP_SOURCE_UNKNOWN

 

Returns

an ESource of the given kind , or NULL, if not found.

[transfer none][nullable]

Since: 3.26


e_config_lookup_get_busy ()

gboolean
e_config_lookup_get_busy (EConfigLookup *config_lookup);

Returns whether there's any running worker. They can be cancelled with e_config_lookup_cancel_all().

Parameters

config_lookup

an EConfigLookup

 

Returns

whether there's any running worker

Since: 3.28


e_config_lookup_cancel_all ()

void
e_config_lookup_cancel_all (EConfigLookup *config_lookup);

Cancels all pending workers.

Parameters

config_lookup

an EConfigLookup

 

Since: 3.28


e_config_lookup_register_worker ()

void
e_config_lookup_register_worker (EConfigLookup *config_lookup,
                                 EConfigLookupWorker *worker);

Registers a worker as a worker, which can be run as part of e_config_lookup_run(). The function adds its own reference to worker .

Parameters

config_lookup

an EConfigLookup

 

worker

an EConfigLookupWorker

 

Since: 3.28


e_config_lookup_unregister_worker ()

void
e_config_lookup_unregister_worker (EConfigLookup *config_lookup,
                                   EConfigLookupWorker *worker);

Removes a worker previously registered with e_config_lookup_register_worker().

Parameters

config_lookup

an EConfigLookup

 

worker

an EConfigLookupWorker

 

Since: 3.28


e_config_lookup_dup_registered_workers ()

GSList *
e_config_lookup_dup_registered_workers
                               (EConfigLookup *config_lookup);

Returns a list of all registered EConfigLookupWorker objects.

The returned GSList should be freed with g_slist_free_full (workers, g_object_unref); when no longer needed.

Parameters

config_lookup

an EConfigLookup

 

Returns

a GSList with all workers registered with e_config_lookup_register_worker().

[transfer full][element-type EConfigLookupWorker]

Since: 3.28


e_config_lookup_run ()

void
e_config_lookup_run (EConfigLookup *config_lookup,
                     const ENamedParameters *params,
                     GCancellable *cancellable,
                     GAsyncReadyCallback callback,
                     gpointer user_data);

Runs configuration lookup asynchronously. Once the run is done, the callback is called, and the call can be finished with e_config_lookup_run_finish(). The callback is always called from the main thread.

Workers can be run individually using e_config_lookup_run_worker().

Note that there cannot be run two lookups at the same time, thus if it happens, then the callback is called immediately with a NULL result.

Parameters

config_lookup

an EConfigLookup

 

params

an ENamedParameters with lookup parameters

 

cancellable

an optional GCancellable, or NULL

 

callback

a callback to call, when the run is finished

 

user_data

user data for the callback

 

Since: 3.26


e_config_lookup_run_finish ()

void
e_config_lookup_run_finish (EConfigLookup *config_lookup,
                            GAsyncResult *result);

Finishes the configuration lookup previously run by e_config_lookup_run(). It's expected that the extensions may fail, thus it doesn't return anything and is provided mainly for consistency with asynchronous API.

Parameters

config_lookup

an EConfigLookup

 

result

result of the operation

 

Since: 3.26


e_config_lookup_run_worker ()

void
e_config_lookup_run_worker (EConfigLookup *config_lookup,
                            EConfigLookupWorker *worker,
                            const ENamedParameters *params,
                            GCancellable *cancellable);

Creates a new thread and runs worker in it. When the cancellable is NULL, then there's creates a new CamelOperation, which either proxies currently running lookup or the newly created cancellable is completely independent.

This function can be called while there's an ongoing configuration lookup, but also when the worker is restarted.

Parameters

config_lookup

an EConfigLookup

 

worker

an EConfigLookupWorker to run in a dedicated thread

 

params

an ENamedParameters with lookup parameters

 

cancellable

an optional GCancellable, or NULL

 

Since: 3.28


e_config_lookup_add_result ()

void
e_config_lookup_add_result (EConfigLookup *config_lookup,
                            EConfigLookupResult *result);

Adds a new result in a list of known configuration lookup results. The config_lookup assumes ownership of the result and frees it when no longer needed.

The list of results can be obtained with e_config_lookup_dup_results().

Parameters

config_lookup

an EConfigLookup

 

result

an EConfigLookupResult.

[transfer full]

Since: 3.26


e_config_lookup_count_results ()

gint
e_config_lookup_count_results (EConfigLookup *config_lookup);

Parameters

config_lookup

an EConfigLookup

 

Returns

how many results had been added already.

Since: 3.28


e_config_lookup_dup_results ()

GSList *
e_config_lookup_dup_results (EConfigLookup *config_lookup,
                             EConfigLookupResultKind kind,
                             const gchar *protocol);

Returns a GSList with EConfigLookupResult objects satisfying the kind and protocol filtering conditions. To receive all gathered results use E_CONFIG_LOOKUP_RESULT_UNKNOWN for kind and NULL for the protocol .

Free the returned GSList with g_slist_free_full (results, g_object_unref); when no longer needed.

Parameters

config_lookup

an EConfigLookup

 

kind

an EConfigLookupResultKind to filter the results with

 

protocol

optional protocol to filter the results with, or NULL.

[nullable]

Returns

a GSList with results satisfying the kind and protocol filtering conditions.

[transfer full][element-type EConfigLookupResult]

Since: 3.28


e_config_lookup_clear_results ()

void
e_config_lookup_clear_results (EConfigLookup *config_lookup);

Frees all gathered results. This might be usually called before starting new custom lookup. The e_config_lookup_run() frees all results automatically.

Parameters

config_lookup

an EConfigLookup

 

Since: 3.28


e_config_lookup_encode_certificate_trust ()

const gchar *
e_config_lookup_encode_certificate_trust
                               (ETrustPromptResponse response);

Encodes response to a string. This can be decoded back to enum with e_config_lookup_decode_certificate_trust().

Parameters

response

an ETrustPromptResponse to encode

 

Returns

string representation of response .

Since: 3.28


e_config_lookup_decode_certificate_trust ()

ETrustPromptResponse
e_config_lookup_decode_certificate_trust
                               (const gchar *value);

Decodes text value to ETrustPromptResponse, previously encoded with e_config_lookup_encode_certificate_trust().

Parameters

value

a text value to decode

 

Returns

an ETrustPromptResponse corresponding to value .

Since: 3.28

Types and Values

E_CONFIG_LOOKUP_PARAM_USER

#define E_CONFIG_LOOKUP_PARAM_USER		"user"

E_CONFIG_LOOKUP_PARAM_PASSWORD

#define E_CONFIG_LOOKUP_PARAM_PASSWORD		"password"

E_CONFIG_LOOKUP_PARAM_REMEMBER_PASSWORD

#define E_CONFIG_LOOKUP_PARAM_REMEMBER_PASSWORD "remember-password" /* Is part of params, if can remember, otherwise not in params */

E_CONFIG_LOOKUP_PARAM_EMAIL_ADDRESS

#define E_CONFIG_LOOKUP_PARAM_EMAIL_ADDRESS "email-address"

E_CONFIG_LOOKUP_PARAM_SERVERS

#define E_CONFIG_LOOKUP_PARAM_SERVERS		"servers"

E_CONFIG_LOOKUP_PARAM_CERTIFICATE_PEM

#define E_CONFIG_LOOKUP_PARAM_CERTIFICATE_PEM "certificate-pem"

E_CONFIG_LOOKUP_PARAM_CERTIFICATE_HOST

#define E_CONFIG_LOOKUP_PARAM_CERTIFICATE_HOST "certificate-host"

E_CONFIG_LOOKUP_PARAM_CERTIFICATE_TRUST

#define E_CONFIG_LOOKUP_PARAM_CERTIFICATE_TRUST "certificate-trust"

struct EConfigLookup

struct EConfigLookup;

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

Since: 3.26

Property Details

The “busy” property

  “busy”                     gboolean

Whether the EConfigLookup has any running workers.

Owner: EConfigLookup

Flags: Read

Default value: FALSE

Since: 3.28


The “registry” property

  “registry”                 ESourceRegistry *

The ESourceRegistry manages ESource instances.

Owner: EConfigLookup

Flags: Read / Write / Construct Only

Since: 3.26

Signal Details

The “get-source” signal

gpointer
user_function (EConfigLookup          *kind,
               EConfigLookupSourceKind arg1,
               gpointer                user_data)

Emitted to get an ESource of the given kind . Return NULL, when not available.

Parameters

kind

an EConfigLookupSourceKind

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.26


The “result-added” signal

void
user_function (EConfigLookup       *result,
               EConfigLookupResult *arg1,
               gpointer             user_data)

Emitted when a new result is added to the config lookup.

Note that this signal can be emitted in a worker's dedicated thread.

Parameters

result

an EConfigLookupResult

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.28


The “worker-finished” signal

void
user_function (EConfigLookup       *worker,
               EConfigLookupWorker *restart_params,
               ENamedParameters    *error,
               GError              *arg3,
               gpointer             user_data)

Emitted when the worker finished its running.

Note that this signal is always emitted in the main thread.

Parameters

worker

an EConfigLookupWorker

 

restart_params

an optional ENamedParameters to use when the worker might be restarted

 

error

an optional GError with an overall result of the run

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.28


The “worker-started” signal

void
user_function (EConfigLookup       *worker,
               EConfigLookupWorker *cancellable,
               GCancellable        *arg2,
               gpointer             user_data)

Emitted when the worker is about to start running. Corresponding EConfigLookup ::worker-finished is emitted when the run is finished.

Note that this signal is always emitted in the main thread.

Parameters

worker

an EConfigLookupWorker

 

cancellable

associated GCancellable for this worker run

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.28