typedef struct _JobData JobData;
struct _CamelSessionPrivate {
- GMutex *lock; /* for locking everything basically */
- GMutex *thread_lock; /* locking threads */
-
gchar *user_data_dir;
gchar *user_cache_dir;
if (priv->main_context != NULL)
g_main_context_unref (priv->main_context);
- g_mutex_free (priv->lock);
- g_mutex_free (priv->thread_lock);
-
g_mutex_free (priv->services_lock);
if (priv->junk_headers) {
session->priv = CAMEL_SESSION_GET_PRIVATE (session);
- session->priv->lock = g_mutex_new ();
- session->priv->thread_lock = g_mutex_new ();
session->priv->services = services;
session->priv->services_lock = g_mutex_new ();
session->priv->junk_headers = NULL;
}
/**
- * camel_session_lock:
- * @session: a #CamelSession
- * @lock: lock type to lock
- *
- * Locks @session's @lock. Unlock it with camel_session_unlock().
- *
- * Since: 2.32
- **/
-void
-camel_session_lock (CamelSession *session,
- CamelSessionLock lock)
-{
- g_return_if_fail (CAMEL_IS_SESSION (session));
-
- switch (lock) {
- case CAMEL_SESSION_SESSION_LOCK:
- g_mutex_lock (session->priv->lock);
- break;
- case CAMEL_SESSION_THREAD_LOCK:
- g_mutex_lock (session->priv->thread_lock);
- break;
- default:
- g_return_if_reached ();
- }
-}
-
-/**
- * camel_session_unlock:
- * @session: a #CamelSession
- * @lock: lock type to unlock
- *
- * Unlocks @session's @lock, previously locked with camel_session_lock().
- *
- * Since: 2.32
- **/
-void
-camel_session_unlock (CamelSession *session,
- CamelSessionLock lock)
-{
- g_return_if_fail (CAMEL_IS_SESSION (session));
-
- switch (lock) {
- case CAMEL_SESSION_SESSION_LOCK:
- g_mutex_unlock (session->priv->lock);
- break;
- case CAMEL_SESSION_THREAD_LOCK:
- g_mutex_unlock (session->priv->thread_lock);
- break;
- default:
- g_return_if_reached ();
- }
-}
-
-/**
* camel_session_get_socks_proxy:
* @session: A #CamelSession
* @for_host: Host name to which the connection will be requested
CAMEL_SESSION_PASSPHRASE = 1 << 4
};
-/**
- * CamelSessionLock:
- *
- * Since: 2.32
- **/
-typedef enum {
- CAMEL_SESSION_SESSION_LOCK,
- CAMEL_SESSION_THREAD_LOCK
-} CamelSessionLock;
-
struct _CamelSession {
CamelObject parent;
CamelSessionPrivate *priv;
gint len);
gboolean camel_session_lookup_addressbook (CamelSession *session,
const gchar *name);
-void camel_session_lock (CamelSession *session,
- CamelSessionLock lock);
-void camel_session_unlock (CamelSession *session,
- CamelSessionLock lock);
gboolean camel_session_authenticate_sync (CamelSession *session,
CamelService *service,