camel-private

camel-private

Synopsis

struct              CamelFolderPrivate;
#define             CAMEL_FOLDER_LOCK                   (f,
                                                         l)
#define             CAMEL_FOLDER_UNLOCK                 (f,
                                                         l)
#define             CAMEL_FOLDER_REC_LOCK               (f,
                                                         l)
#define             CAMEL_FOLDER_REC_UNLOCK             (f,
                                                         l)
struct              CamelStorePrivate;
#define             CAMEL_STORE_LOCK                    (f,
                                                         l)
#define             CAMEL_STORE_UNLOCK                  (f,
                                                         l)
struct              CamelTransportPrivate;
#define             CAMEL_TRANSPORT_LOCK                (f,
                                                         l)
#define             CAMEL_TRANSPORT_UNLOCK              (f,
                                                         l)
struct              CamelServicePrivate;
#define             CAMEL_SERVICE_LOCK                  (f,
                                                         l)
#define             CAMEL_SERVICE_UNLOCK                (f,
                                                         l)
#define             CAMEL_SERVICE_REC_LOCK              (f,
                                                         l)
#define             CAMEL_SERVICE_REC_UNLOCK            (f,
                                                         l)
#define             CAMEL_SERVICE_REC_TRYLOCK           (f,
                                                         l)
struct              CamelSessionPrivate;
#define             CAMEL_SESSION_LOCK                  (f,
                                                         l)
#define             CAMEL_SESSION_UNLOCK                (f,
                                                         l)
struct              CamelFolderSummaryPrivate;
#define             CAMEL_SUMMARY_LOCK                  (f,
                                                         l)
#define             CAMEL_SUMMARY_UNLOCK                (f,
                                                         l)
struct              CamelStoreSummaryPrivate;
#define             CAMEL_STORE_SUMMARY_LOCK            (f,
                                                         l)
#define             CAMEL_STORE_SUMMARY_UNLOCK          (f,
                                                         l)
struct              CamelVeeFolderPrivate;
#define             CAMEL_VEE_FOLDER_LOCK               (f,
                                                         l)
#define             CAMEL_VEE_FOLDER_UNLOCK             (f,
                                                         l)
struct              CamelDataWrapperPrivate;
#define             CAMEL_DATA_WRAPPER_LOCK             (dw,
                                                         l)
#define             CAMEL_DATA_WRAPPER_UNLOCK           (dw,
                                                         l)
struct              CamelCertDBPrivate;
#define             CAMEL_CERTDB_LOCK                   (db,
                                                         l)
#define             CAMEL_CERTDB_UNLOCK                 (db,
                                                         l)
#define             fsync                               (fd)
#define             EVOLUTION_LOCALEDIR
#define             CAMEL_LIBEXECDIR
#define             CAMEL_PROVIDERDIR

Description

Details

struct CamelFolderPrivate

struct CamelFolderPrivate {
	GStaticRecMutex lock;
	GStaticMutex change_lock;
	/* must require the 'change_lock' to access this */
	gint frozen;
	struct _CamelFolderChangeInfo *changed_frozen; /* queues changed events */
	gboolean skip_folder_lock;
};

CAMEL_FOLDER_LOCK()

#define             CAMEL_FOLDER_LOCK(f, l)

CAMEL_FOLDER_UNLOCK()

#define             CAMEL_FOLDER_UNLOCK(f, l)

CAMEL_FOLDER_REC_LOCK()

#define             CAMEL_FOLDER_REC_LOCK(f, l)

CAMEL_FOLDER_REC_UNLOCK()

#define             CAMEL_FOLDER_REC_UNLOCK(f, l)

struct CamelStorePrivate

struct CamelStorePrivate {
	GStaticRecMutex folder_lock; /* for locking folder operations */
};

CAMEL_STORE_LOCK()

#define             CAMEL_STORE_LOCK(f, l)

CAMEL_STORE_UNLOCK()

#define             CAMEL_STORE_UNLOCK(f, l)

struct CamelTransportPrivate

struct CamelTransportPrivate {
	GMutex *send_lock;   /* for locking send operations */
};

CAMEL_TRANSPORT_LOCK()

#define             CAMEL_TRANSPORT_LOCK(f, l)

CAMEL_TRANSPORT_UNLOCK()

#define             CAMEL_TRANSPORT_UNLOCK(f, l)

struct CamelServicePrivate

struct CamelServicePrivate {
	GStaticRecMutex connect_lock; /* for locking connection operations */
	GStaticMutex connect_op_lock; /* for locking the connection_op */
};

CAMEL_SERVICE_LOCK()

#define             CAMEL_SERVICE_LOCK(f, l)

CAMEL_SERVICE_UNLOCK()

#define             CAMEL_SERVICE_UNLOCK(f, l)

CAMEL_SERVICE_REC_LOCK()

#define             CAMEL_SERVICE_REC_LOCK(f, l)

CAMEL_SERVICE_REC_UNLOCK()

#define             CAMEL_SERVICE_REC_UNLOCK(f, l)

CAMEL_SERVICE_REC_TRYLOCK()

#define             CAMEL_SERVICE_REC_TRYLOCK(f, l)

struct CamelSessionPrivate

struct CamelSessionPrivate {
	GMutex *lock;		/* for locking everything basically */
	GMutex *thread_lock; /* locking threads */

	gint thread_id;
	GHashTable *thread_active;
	GThreadPool *thread_pool;

	GHashTable *thread_msg_op;
	GHashTable *junk_headers;
};

CAMEL_SESSION_LOCK()

#define             CAMEL_SESSION_LOCK(f, l)

CAMEL_SESSION_UNLOCK()

#define             CAMEL_SESSION_UNLOCK(f, l)

struct CamelFolderSummaryPrivate

struct CamelFolderSummaryPrivate {
	GHashTable *filter_charset; /* CamelMimeFilterCharset's indexed by source charset */

	struct _CamelMimeFilterIndex *filter_index;
	struct _CamelMimeFilterBasic *filter_64;
	struct _CamelMimeFilterBasic *filter_qp;
	struct _CamelMimeFilterBasic *filter_uu;
	struct _CamelMimeFilterSave *filter_save;
	struct _CamelMimeFilterHTML *filter_html;

	struct _CamelStreamFilter *filter_stream;

	struct _CamelIndex *index;

	GStaticRecMutex summary_lock; /* for the summary hashtable/array */
	GStaticRecMutex io_lock; /* load/save lock, for access to saved_count, etc */
	GStaticRecMutex filter_lock; /* for accessing any of the filtering/indexing stuff, since we share them */
	GStaticRecMutex alloc_lock; /* for setting up and using allocators */
	GStaticRecMutex ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */
	GHashTable *flag_cache;

	gboolean need_preview;
	GHashTable *preview_updates;
};

CAMEL_SUMMARY_LOCK()

#define             CAMEL_SUMMARY_LOCK(f, l)

CAMEL_SUMMARY_UNLOCK()

#define             CAMEL_SUMMARY_UNLOCK(f, l)

struct CamelStoreSummaryPrivate

struct CamelStoreSummaryPrivate {
	GMutex *summary_lock; /* for the summary hashtable/array */
	GMutex *io_lock; /* load/save lock, for access to saved_count, etc */
	GMutex *alloc_lock; /* for setting up and using allocators */
	GMutex *ref_lock; /* for reffing/unreffing messageinfo's ALWAYS obtain before summary_lock */
};

CAMEL_STORE_SUMMARY_LOCK()

#define             CAMEL_STORE_SUMMARY_LOCK(f, l)

CAMEL_STORE_SUMMARY_UNLOCK()

#define             CAMEL_STORE_SUMMARY_UNLOCK(f, l)

struct CamelVeeFolderPrivate

struct CamelVeeFolderPrivate {
	gboolean destroyed;
	GList *folders;			/* lock using subfolder_lock before changing/accessing */
	GList *folders_changed;		/* for list of folders that have changed between updates */

	GMutex *summary_lock;		/* for locking vfolder summary */
	GMutex *subfolder_lock;		/* for locking the subfolder list */
	GMutex *changed_lock;		/* for locking the folders-changed list */
	gint unread_vfolder;
};

CAMEL_VEE_FOLDER_LOCK()

#define             CAMEL_VEE_FOLDER_LOCK(f, l)

CAMEL_VEE_FOLDER_UNLOCK()

#define             CAMEL_VEE_FOLDER_UNLOCK(f, l)

struct CamelDataWrapperPrivate

struct CamelDataWrapperPrivate {
	pthread_mutex_t stream_lock;
};

CAMEL_DATA_WRAPPER_LOCK()

#define             CAMEL_DATA_WRAPPER_LOCK(dw, l)

CAMEL_DATA_WRAPPER_UNLOCK()

#define             CAMEL_DATA_WRAPPER_UNLOCK(dw, l)

struct CamelCertDBPrivate

struct CamelCertDBPrivate {
	GMutex *db_lock; /* for the db hashtable/array */
	GMutex *io_lock; /* load/save lock, for access to saved_count, etc */
	GMutex *alloc_lock; /* for setting up and using allocators */
	GMutex *ref_lock; /* for reffing/unreffing certs */
};

CAMEL_CERTDB_LOCK()

#define             CAMEL_CERTDB_LOCK(db, l)

CAMEL_CERTDB_UNLOCK()

#define             CAMEL_CERTDB_UNLOCK(db, l)

fsync()

#define fsync(fd) _commit(fd)

EVOLUTION_LOCALEDIR

#define EVOLUTION_LOCALEDIR _camel_get_localedir ()

CAMEL_LIBEXECDIR

#define CAMEL_LIBEXECDIR _camel_get_libexecdir ()

CAMEL_PROVIDERDIR

#define CAMEL_PROVIDERDIR _camel_get_providerdir ()