Top | ![]() |
![]() |
![]() |
![]() |
gchar * | display-name | Read / Write / Construct |
gchar * | password | Read / Write / Construct |
gpointer | provider | Read / Write / Construct Only |
CamelSession * | session | Read / Write / Construct Only |
CamelSettings * | settings | Read / Write / Construct |
gchar * | uid | Read / Write / Construct Only |
struct | CamelService |
#define | CAMEL_SERVICE_ERROR |
enum | CamelServiceError |
enum | CamelServiceConnectionStatus |
CamelServiceAuthType | |
enum | CamelServiceLock |
enum | CamelAuthenticationResult |
void
camel_service_migrate_files (CamelService *service
);
Performs any necessary file migrations for service
. This should be
called after installing or configuring the service
's CamelSettings,
since it requires building a URL string for service
.
Since 3.4
CamelURL *
camel_service_new_camel_url (CamelService *service
);
Returns a new CamelURL representing service
.
Free the returned CamelURL with camel_url_free()
.
Since 3.2
const gchar *
camel_service_get_display_name (CamelService *service
);
Returns the display name for service
, or NULL
if service
has not
been given a display name. The display name is intended for use in
a user interface and should generally be given a user-defined name.
Compare this with camel_service_get_name()
, which returns a built-in
description of the type of service (IMAP, SMTP, etc.).
Since 3.2
void camel_service_set_display_name (CamelService *service
,const gchar *display_name
);
Assigns a UTF-8 display name to service
. The display name is intended
for use in a user interface and should generally be given a user-defined
name.
Compare this with camel_service_get_name()
, which returns a built-in
description of the type of service (IMAP, SMTP, etc.).
Since 3.2
const gchar *
camel_service_get_password (CamelService *service
);
Returns the password for service
. Some SASL mechanisms use this
when attempting to authenticate.
Since 3.4
void camel_service_set_password (CamelService *service
,const gchar *password
);
Sets the password for service
. Use this function to cache the password
in memory after obtaining it through camel_session_get_password()
. Some
SASL mechanisms use this when attempting to authenticate.
Since 3.4
const gchar *
camel_service_get_user_data_dir (CamelService *service
);
Returns the base directory under which to store user-specific data
for service
. The directory is formed by appending the directory
returned by camel_session_get_user_data_dir()
with the service's
“uid” value.
Since 3.2
const gchar *
camel_service_get_user_cache_dir (CamelService *service
);
Returns the base directory under which to store cache data
for service
. The directory is formed by appending the directory
returned by camel_session_get_user_cache_dir()
with the service's
“uid” value.
Since 3.4
gchar * camel_service_get_name (CamelService *service
,gboolean brief
);
This gets the name of the service in a "friendly" (suitable for
humans) form. If brief
is TRUE
, this should be a brief description
such as for use in the folder tree. If brief
is FALSE
, it should
be a more complete and mostly unambiguous description.
CamelProvider *
camel_service_get_provider (CamelService *service
);
Gets the CamelProvider associated with the service.
struct _CamelSession *
camel_service_get_session (CamelService *service
);
Gets the CamelSession associated with the service.
CamelSettings *
camel_service_get_settings (CamelService *service
);
Returns the CamelSettings instance associated with the service.
Since 3.2
void camel_service_set_settings (CamelService *service
,CamelSettings *settings
);
Associates a new CamelSettings instance with the service.
The settings
instance must match the settings type defined in
CamelServiceClass. If settings
is NULL
, a new CamelSettings
instance of the appropriate type is created with all properties
set to defaults.
Since 3.2
const gchar *
camel_service_get_uid (CamelService *service
);
Gets the unique identifier string associated with the service.
Since 3.2
void
camel_service_cancel_connect (CamelService *service
);
If service
is currently attempting to connect to or disconnect
from a server, this causes it to stop and fail. Otherwise it is a
no-op.
gboolean camel_service_connect_sync (CamelService *service
,GError **error
);
Connect to the service using the parameters it was initialized with.
gboolean camel_service_disconnect_sync (CamelService *service
,gboolean clean
,GError **error
);
Disconnect from the service. If clean
is FALSE
, it should not
try to do any synchronizing or other cleanup of the connection.
CamelServiceConnectionStatus
camel_service_get_connection_status (CamelService *service
);
Returns the connection status for service
.
Since 3.2
void camel_service_lock (CamelService *service
,CamelServiceLock lock
);
Locks service
's lock
. Unlock it with camel_service_unlock()
.
Since 2.32
void camel_service_unlock (CamelService *service
,CamelServiceLock lock
);
Unlocks service
's lock
, previously locked with camel_service_lock()
.
Since 2.32
CamelAuthenticationResult camel_service_authenticate_sync (CamelService *service
,const gchar *mechanism
,GCancellable *cancellable
,GError **error
);
Attempts to authenticate service
using mechanism
and, if necessary,
service
's “password” property. The function makes only
ONE attempt at authentication and does not loop.
If the authentication attempt completed and the server accepted the credentials, the function returns CAMEL_AUTHENTICATION_ACCEPTED.
If the authentication attempt completed but the server rejected the credentials, the function returns CAMEL_AUTHENTICATION_REJECTED.
If the authentication attempt failed to complete due to a network
communication issue or some other mishap, the function sets error
and returns CAMEL_AUTHENTICATION_ERROR.
Generally this function should only be called from a CamelSession subclass in order to implement its own authentication loop.
service |
||
mechanism |
a SASL mechanism name, or |
|
cancellable |
optional GCancellable object, or |
|
error |
Since 3.4
void camel_service_authenticate (CamelService *service
,const gchar *mechanism
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously attempts to authenticate service
using mechanism
and,
if necessary, service
's “password” property. The function
makes only ONE attempt at authentication and does not loop.
Generally this function should only be called from a CamelSession subclass in order to implement its own authentication loop.
When the operation is finished, callback
will be called. You can
then call camel_service_authenticate_finish()
to get the result of
the operation.
service |
||
mechanism |
a SASL mechanism name, or |
|
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since 3.4
CamelAuthenticationResult camel_service_authenticate_finish (CamelService *service
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_service_authenticate()
.
If the authentication attempt completed and the server accepted the credentials, the function returns CAMEL_AUTHENTICATION_ACCEPTED.
If the authentication attempt completed but the server rejected the credentials, the function returns CAMEL_AUTHENTICATION_REJECTED.
If the authentication attempt failed to complete due to a network
communication issue or some other mishap, the function sets error
and returns CAMEL_AUTHENTICATION_ERROR.
Since 3.4
GList * camel_service_query_auth_types_sync (CamelService *service
,GCancellable *cancellable
,GError **error
);
Obtains a list of authentication types supported by service
.
Free the returned list with g_list_free()
.
void camel_service_query_auth_types (CamelService *service
,gint io_priority
,GCancellable *cancellable
,GAsyncReadyCallback callback
,gpointer user_data
);
Asynchronously obtains a list of authentication types supported by
service
.
When the operation is finished, callback
will be called. You can
then call camel_service_query_auth_types_finish()
to get the result
of the operation.
service |
||
io_priority |
the I/O priority of the request |
|
cancellable |
optional GCancellable object, or |
|
callback |
a GAsyncReadyCallback to call when the request is satisfied |
|
user_data |
data to pass to the callback function |
Since 3.2
GList * camel_service_query_auth_types_finish (CamelService *service
,GAsyncResult *result
,GError **error
);
Finishes the operation started with camel_service_query_auth_types()
.
Free the returned list with g_list_free()
.
Since 3.2
typedef struct { const gchar *name; /* user-friendly name */ const gchar *description; const gchar *authproto; gboolean need_password; /* needs a password to authenticate */ } CamelServiceAuthType;
“display-name”
property“display-name” gchar *
The display name for the service.
Flags: Read / Write / Construct
Default value: NULL
“password”
property“password” gchar *
The password for the service.
Flags: Read / Write / Construct
Default value: NULL
“provider”
property“provider” gpointer
The CamelProvider for the service.
Flags: Read / Write / Construct Only
“session”
property“session” CamelSession *
A CamelSession instance.
Flags: Read / Write / Construct Only
“settings”
property“settings” CamelSettings *
A CamelSettings instance.
Flags: Read / Write / Construct
“uid”
property“uid” gchar *
The unique identity of the service.
Flags: Read / Write / Construct Only
Default value: NULL