## org.gnome.evolution.dataserver.Source org.gnome.evolution.dataserver.Source — Data source |

## Methods

    InvokeCredentialsRequired             (IN  s  reason,
                                           IN  s  certificate_pem,
                                           IN  s  certificate_errors,
                                           IN  s  dbus_error_name,
                                           IN  s  dbus_error_message);
    GetLastCredentialsRequiredArguments   (OUT s  reason,
                                           OUT s  certificate_pem,
                                           OUT s  certificate_errors,
                                           OUT s  dbus_error_name,
                                           OUT s  dbus_error_message);
    UnsetLastCredentialsRequiredArguments ();
    InvokeAuthenticate                    (IN  as credentials);

## Signals

    CredentialsRequired (s  reason,
                         s  certificate_pem,
                         s  certificate_errors,
                         s  dbus_error_name,
                         s  dbus_error_message);
    Authenticate        (as credentials);

## Properties

    UID               readable   s
    Data              readable   s
    ConnectionStatus  readwrite  s

## Description

This interface is used to represent data sources.

## Method Details

### The InvokeCredentialsRequired() method

    InvokeCredentialsRequired (IN  s reason,
                               IN  s certificate_pem,
                               IN  s certificate_errors,
                               IN  s dbus_error_name,
                               IN  s dbus_error_message);

Invokes CredentialsRequired signal on the server side, thus it can be received by all clients.

`IN s `reason``: |
`IN s `certificate_pem``: |
`IN s `certificate_errors``: |
`IN s `dbus_error_name``: |
`IN s `dbus_error_message``: |

Since 3.16

### The GetLastCredentialsRequiredArguments() method

    GetLastCredentialsRequiredArguments (OUT s reason,
                                         OUT s certificate_pem,
                                         OUT s certificate_errors,
                                         OUT s dbus_error_name,
                                         OUT s dbus_error_message);

Returns the last arguments used to the call of CredentialsRequired(). The values are automatically unset with the Authenticate() call or with an explicit call to UnsetLastCredentialsRequiredArguments().

`OUT s `reason``: | (out): The 'reason' argument used in the last call of CredentialsRequired()
`OUT s `certificate_pem``: | (out): The 'certificate_pem' argument used in the last call of CredentialsRequired()
`OUT s `certificate_errors``: | (out): The 'certificate_errors' argument used in the last call of CredentialsRequired()
`OUT s `dbus_error_name``: | (out): The 'dbus_error_name' argument used in the last call of CredentialsRequired()
`OUT s `dbus_error_message``: | (out): The 'dbus_error_message' argument used in the last call of CredentialsRequired()

Since 3.16

### The UnsetLastCredentialsRequiredArguments() method

    UnsetLastCredentialsRequiredArguments ();

Unsets the last arguments used to the call of CredentialsRequired(). The values are automatically unset with the Authenticate() call too.

Since 3.18

### The InvokeAuthenticate() method

    InvokeAuthenticate (IN  as credentials);

Invokes Authenticate signal on the server side, thus it can be received by all clients (and served by backends).

`IN as `credentials``: |

Since 3.16

## Signal Details

### The "CredentialsRequired" signal

    CredentialsRequired (s reason,
                         s certificate_pem,
                         s certificate_errors,
                         s dbus_error_name,
                         s dbus_error_message);

being used for the SSL connection `certificate_errors`: a GTlsCertificateFlags bit-or of certificate errors `dbus_error_name`: a GDBus' error name for a failed authentication `dbus_error_message`: actual error message corresponding to `dbus_error_name` `since`: 3.16

Emitted, when the source requires credentials, like for login, to be able to connect to its destination. The client side may listen to it to let a user know that the credentials are required, eventually ask for the credentials (password) straight away. The ConnectionStatus property changes accordingly, when one of the listeners will provide the credentials using Authenticate method. The reason argument says why the credentials are required.

The value E_SOURCE_CREDENTIALS_REASON_SSL_FAILED indicates a failed certificate check on a secured connection, then the certificate_pem and certificate_errors are populated with the actual certificate being used and what failed with it. Otherwise these two arguments are meaningless. The error argument can contain a text description of the certificate_errors too.

The value E_SOURCE_CREDENTIALS_REASON_ERROR indicates a failure on the server side, other than rejected credentials or failed SSL checks. In this case the 'error' argument holds a text description of the error. The 'error' argument is meaningless or optional in other cases.

`s `reason``: | one of the ESourceCredentialsReason values
`s `certificate_pem``: | either an empty string or a PEM-encoded certificate
`s `certificate_errors``: |
`s `dbus_error_name``: |
`s `dbus_error_message``: |

### The "Authenticate" signal

    Authenticate (as credentials);

This is a response method for a signal CredentialsRequired, when the credentials had been obtained from a user. The `credentials` is an array of strings suitable for ECredentials structure.

`as `credentials``: | provided credentials, in a GKeyFile format

Since 3.16

## Property Details

### The "UID" property

    UID  readable   s

The unique identifier for the source.

### The "Data" property

    Data  readable   s

Raw key file data describing the source.

### The "ConnectionStatus" property

    ConnectionStatus  readwrite  s

Current ESourceConnectionStatus of the source. `since`: 3.16