Class

CamelSession

Description

class Camel.Session : GObject.Object {
  parent: GObject,
  priv: CamelSessionPrivate*
}
No description available.

Ancestors

Instance methods

camel_session_add_service

Instantiates a new CamelService for session. The uid identifies the service for future lookup. The protocol indicates which CamelProvider holds the GType of the CamelService subclass to instantiate. The type explicitly designates the service as a CamelStore or CamelTransport.

since: 3.2

camel_session_addressbook_contains_sync

Look up in an address book book_uid for an address email_address and returns whether any such contact exists.

since: 3.44

camel_session_authenticate

Asynchronously authenticates service, which may involve repeated calls to camel_service_authenticate() or camel_service_authenticate_sync(). A CamelSession subclass is largely responsible for implementing this, and should handle things like user prompts and secure password storage. These issues are out-of-scope for Camel.

since: 3.4

camel_session_authenticate_finish

Finishes the operation started with camel_session_authenticate().

since: 3.4

camel_session_authenticate_sync

Authenticates service, which may involve repeated calls to camel_service_authenticate() or camel_service_authenticate_sync(). A CamelSession subclass is largely responsible for implementing this, and should handle things like user prompts and secure password storage. These issues are out-of-scope for Camel.

since: 3.4

camel_session_forget_password

This function is used by a CamelService to tell the application that the authentication information it provided via camel_session_get_password() was rejected by the service. If the application was caching this information, it should stop, and if the service asks for it again, it should ask the user.

camel_session_forward_to

Asynchronously forwards message in folder to the email address(s) given by address.

since: 3.6

camel_session_forward_to_finish

Finishes the operation started with camel_session_forward_to().

since: 3.6

camel_session_forward_to_sync

Forwards message in folder to the email address(es) given by address.

since: 3.6

camel_session_get_filter_driver

The optional for_folder can be used to determine which filters to add and which not.

camel_session_get_junk_filter

Returns the CamelJunkFilter instance used to classify messages as junk or not junk during filtering.

since: 3.2

camel_session_get_junk_headers
No description available.

since: 2.22

camel_session_get_oauth2_access_token_sync

Obtains the OAuth 2.0 access token for service along with its expiry in seconds from the current time (or 0 if unknown).

since: 3.28

camel_session_get_online
No description available.

camel_session_get_password

This function is used by a CamelService to ask the application and the user for a password or other authentication data.

camel_session_get_recipient_certificates_sync

Searches for S/MIME certificates or PGP keys for the given recipients, which are returned as base64 encoded strings in out_certificates. This is used when encrypting messages. The flags influence what the out_certificates will contain. The order of items in out_certificates should match the order of items in recipients, with NULL data for those which could not be found.

since: 3.30

camel_session_get_user_cache_dir

Returns the base directory under which to store user-specific mail cache.

since: 3.4

camel_session_get_user_data_dir

Returns the base directory under which to store user-specific mail data.

since: 3.2

camel_session_idle_add

Adds a function to be called whenever there are no higher priority events pending. If function returns FALSE it is automatically removed from the list of event sources and will not be called again.

since: 3.6

camel_session_list_services

Returns a list of all CamelService objects previously added using camel_session_add_service().

since: 3.2

camel_session_lookup_addressbook

Looks up for the name in address books.

since: 2.22

camel_session_ref_main_context

Returns the GMainContext on which event sources for session are to be attached.

since: 3.8

camel_session_ref_network_monitor

References a GNetworkMonitor instance, which had been previously set by camel_session_set_network_monitor(). If none is set, then the default GNetworkMonitor is returned, as provided by g_network_monitor_get_default(). The returned pointer is referenced for thread safety, unref it with g_object_unref() when no longer needed.

since: 3.22

camel_session_ref_service

Looks up a CamelService by its unique identifier string. The service must have been previously added using camel_session_add_service().

since: 3.6

camel_session_ref_service_by_url

Looks up a CamelService by trying to match its CamelURL against the given url and then checking that the object is of the desired type. The service must have been previously added using camel_session_add_service().

since: 3.6

camel_session_remove_service

Removes a CamelService previously added by camel_session_add_service().

since: 3.2

camel_session_remove_services

Removes all CamelService instances added by camel_session_add_service().

since: 3.2

camel_session_set_junk_filter

Installs the CamelJunkFilter instance used to classify messages as junk or not junk during filtering.

since: 3.2

camel_session_set_junk_headers
No description available.

since: 2.22

camel_session_set_network_monitor

Sets a network monitor instance for the session. This can be used to override which GNetworkMonitor should be used to check network availability and whether a server is reachable.

since: 3.22

camel_session_set_online

Sets the online status of session to online.

camel_session_submit_job

This function provides a simple mechanism for providers to initiate low-priority background jobs. Jobs can be submitted from any thread, but execution of the jobs is always as follows:

since: 3.2

camel_session_trust_prompt

Prompts the user whether to accept certificate for service. The set of flags given in errors indicate why the certificate failed validation.

since: 3.8

camel_session_user_alert

Emits a CamelSession:user_alert signal from an idle source on the main loop. The idle source’s priority is #G_PRIORITY_LOW.

since: 3.12

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Camel.Session:junk-filter
No description available.

Camel.Session:main-context
No description available.

Camel.Session:network-monitor
No description available.

Camel.Session:online
No description available.

Camel.Session:user-cache-dir
No description available.

Camel.Session:user-data-dir
No description available.

Signals

Camel.Session::job-finished
No description available.

Camel.Session::job-started
No description available.

Camel.Session::user-alert

This purpose of this signal is to propagate a server-issued alert message from service to a user interface. The type hints at the severity of the alert message.

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 CamelSessionClass {
  GObjectClass parent_class;
  CamelService* (* add_service) (
    CamelSession* session,
    const gchar* uid,
    const gchar* protocol,
    CamelProviderType type,
    GError** error
  );
  void (* remove_service) (
    CamelSession* session,
    CamelService* service
  );
  gchar* (* get_password) (
    CamelSession* session,
    CamelService* service,
    const gchar* prompt,
    const gchar* item,
    guint32 flags,
    GError** error
  );
  gboolean (* forget_password) (
    CamelSession* session,
    CamelService* service,
    const gchar* item,
    GError** error
  );
  CamelCertTrust (* trust_prompt) (
    CamelSession* session,
    CamelService* service,
    GTlsCertificate* certificate,
    GTlsCertificateFlags errors
  );
  CamelFilterDriver* (* get_filter_driver) (
    CamelSession* session,
    const gchar* type,
    CamelFolder* for_folder,
    GError** error
  );
  gboolean (* lookup_addressbook) (
    CamelSession* session,
    const gchar* name
  );
  gboolean (* authenticate_sync) (
    CamelSession* session,
    CamelService* service,
    const gchar* mechanism,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* forward_to_sync) (
    CamelSession* session,
    CamelFolder* folder,
    CamelMimeMessage* message,
    const gchar* address,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* get_oauth2_access_token_sync) (
    CamelSession* session,
    CamelService* service,
    gchar** out_access_token,
    gint* out_expires_in,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* get_recipient_certificates_sync) (
    CamelSession* session,
    guint32 flags,
    const GPtrArray* recipients,
    GSList** out_certificates,
    GCancellable* cancellable,
    GError** error
  );
  gboolean (* addressbook_contains_sync) (
    CamelSession* session,
    const gchar* book_uid,
    const gchar* email_address,
    GCancellable* cancellable,
    GError** error
  );
  None reserved_methods;
  void (* job_started) (
    CamelSession* session,
    GCancellable* cancellable
  );
  void (* job_finished) (
    CamelSession* session,
    GCancellable* cancellable,
    const GError* error
  );
  void (* user_alert) (
    CamelSession* session,
    CamelService* service,
    CamelSessionAlertType type,
    const gchar* message
  );
  None reserved_signals;
  
}
No description available.
Class members
parent_class: GObjectClass
No description available.
add_service: CamelService* (* add_service) ( CamelSession* session, const gchar* uid, const gchar* protocol, CamelProviderType type, GError** error )
No description available.
remove_service: void (* remove_service) ( CamelSession* session, CamelService* service )
No description available.
get_password: gchar* (* get_password) ( CamelSession* session, CamelService* service, const gchar* prompt, const gchar* item, guint32 flags, GError** error )
No description available.
forget_password: gboolean (* forget_password) ( CamelSession* session, CamelService* service, const gchar* item, GError** error )
No description available.
trust_prompt: CamelCertTrust (* trust_prompt) ( CamelSession* session, CamelService* service, GTlsCertificate* certificate, GTlsCertificateFlags errors )
No description available.
get_filter_driver: CamelFilterDriver* (* get_filter_driver) ( CamelSession* session, const gchar* type, CamelFolder* for_folder, GError** error )
No description available.
lookup_addressbook: gboolean (* lookup_addressbook) ( CamelSession* session, const gchar* name )
No description available.
authenticate_sync: gboolean (* authenticate_sync) ( CamelSession* session, CamelService* service, const gchar* mechanism, GCancellable* cancellable, GError** error )
No description available.
forward_to_sync: gboolean (* forward_to_sync) ( CamelSession* session, CamelFolder* folder, CamelMimeMessage* message, const gchar* address, GCancellable* cancellable, GError** error )
No description available.
get_oauth2_access_token_sync: gboolean (* get_oauth2_access_token_sync) ( CamelSession* session, CamelService* service, gchar** out_access_token, gint* out_expires_in, GCancellable* cancellable, GError** error )
No description available.
get_recipient_certificates_sync: gboolean (* get_recipient_certificates_sync) ( CamelSession* session, guint32 flags, const GPtrArray* recipients, GSList** out_certificates, GCancellable* cancellable, GError** error )
No description available.
addressbook_contains_sync: gboolean (* addressbook_contains_sync) ( CamelSession* session, const gchar* book_uid, const gchar* email_address, GCancellable* cancellable, GError** error )
No description available.
reserved_methods: None
No description available.
job_started: void (* job_started) ( CamelSession* session, GCancellable* cancellable )
No description available.
job_finished: void (* job_finished) ( CamelSession* session, GCancellable* cancellable, const GError* error )
No description available.
user_alert: void (* user_alert) ( CamelSession* session, CamelService* service, CamelSessionAlertType type, const gchar* message )
No description available.
reserved_signals: None
No description available.

Virtual methods

Camel.SessionClass.add_service

Instantiates a new CamelService for session. The uid identifies the service for future lookup. The protocol indicates which CamelProvider holds the GType of the CamelService subclass to instantiate. The type explicitly designates the service as a CamelStore or CamelTransport.

since: 3.2

Camel.SessionClass.addressbook_contains_sync

Look up in an address book book_uid for an address email_address and returns whether any such contact exists.

since: 3.44

Camel.SessionClass.authenticate_sync

Authenticates service, which may involve repeated calls to camel_service_authenticate() or camel_service_authenticate_sync(). A CamelSession subclass is largely responsible for implementing this, and should handle things like user prompts and secure password storage. These issues are out-of-scope for Camel.

since: 3.4

Camel.SessionClass.forget_password

This function is used by a CamelService to tell the application that the authentication information it provided via camel_session_get_password() was rejected by the service. If the application was caching this information, it should stop, and if the service asks for it again, it should ask the user.

Camel.SessionClass.forward_to_sync

Forwards message in folder to the email address(es) given by address.

since: 3.6

Camel.SessionClass.get_filter_driver

The optional for_folder can be used to determine which filters to add and which not.

Camel.SessionClass.get_oauth2_access_token_sync

Obtains the OAuth 2.0 access token for service along with its expiry in seconds from the current time (or 0 if unknown).

since: 3.28

Camel.SessionClass.get_password

This function is used by a CamelService to ask the application and the user for a password or other authentication data.

Camel.SessionClass.get_recipient_certificates_sync

Searches for S/MIME certificates or PGP keys for the given recipients, which are returned as base64 encoded strings in out_certificates. This is used when encrypting messages. The flags influence what the out_certificates will contain. The order of items in out_certificates should match the order of items in recipients, with NULL data for those which could not be found.

since: 3.30

Camel.SessionClass.job_finished
No description available.

Camel.SessionClass.job_started
No description available.

Camel.SessionClass.lookup_addressbook

Looks up for the name in address books.

since: 2.22

Camel.SessionClass.remove_service

Removes a CamelService previously added by camel_session_add_service().

since: 3.2

Camel.SessionClass.trust_prompt

Prompts the user whether to accept certificate for service. The set of flags given in errors indicate why the certificate failed validation.

since: 3.8

Camel.SessionClass.user_alert

Emits a CamelSession:user_alert signal from an idle source on the main loop. The idle source’s priority is #G_PRIORITY_LOW.

since: 3.12