![]() |
![]() |
![]() |
Evolution-Data-Server Manual: Utilities (libedataserver) | ![]() |
---|---|---|---|---|
Top | Description |
EDListNode; EDList; #define E_DLIST_INITIALISER (l) void e_dlist_init (EDList *v
); EDListNode * e_dlist_addhead (EDList *l
,EDListNode *n
); EDListNode * e_dlist_addtail (EDList *l
,EDListNode *n
); EDListNode * e_dlist_remove (EDListNode *n
); EDListNode * e_dlist_remhead (EDList *l
); EDListNode * e_dlist_remtail (EDList *l
); gint e_dlist_empty (EDList *l
); gint e_dlist_length (EDList *l
); EMCache; EMCacheNode; EMCache * em_cache_new (time_t timeout
,gsize nodesize
,GFreeFunc nodefree
); void em_cache_destroy (EMCache *emc
); EMCacheNode * em_cache_lookup (EMCache *emc
,const gchar *key
); EMCacheNode * em_cache_node_new (EMCache *emc
,const gchar *key
); void em_cache_node_unref (EMCache *emc
,EMCacheNode *n
); void em_cache_add (EMCache *emc
,EMCacheNode *n
); void em_cache_clear (EMCache *emc
); EMsgPort; EMsg; EMsgPort * e_msgport_new (void
); void e_msgport_destroy (EMsgPort *mp
); gint e_msgport_fd (EMsgPort *mp
); struct PRFileDesc * e_msgport_prfd (EMsgPort *mp
); void e_msgport_put (EMsgPort *mp
,EMsg *msg
); EMsg * e_msgport_wait (EMsgPort *mp
); EMsg * e_msgport_get (EMsgPort *mp
); void e_msgport_reply (EMsg *msg
); EThread; enum e_thread_t; void (*EThreadFunc) (EThread *Param1
,EMsg *Param2
,gpointer data
); EThread * e_thread_new (e_thread_t type
); void e_thread_destroy (EThread *e
); void e_thread_set_queue_limit (EThread *e
,gint limit
); void e_thread_set_msg_lost (EThread *e
,EThreadFunc destroy
,gpointer data
); void e_thread_set_msg_destroy (EThread *e
,EThreadFunc destroy
,gpointer data
); void e_thread_set_reply_port (EThread *e
,EMsgPort *reply_port
); void e_thread_set_msg_received (EThread *e
,EThreadFunc received
,gpointer data
); void e_thread_put (EThread *e
,EMsg *msg
); gint e_thread_busy (EThread *e
); EMutex; enum e_mutex_t; EMutex * e_mutex_new (e_mutex_t type
); gint e_mutex_destroy (EMutex *m
); gint e_mutex_lock (EMutex *m
); gint e_mutex_unlock (EMutex *m
); void e_mutex_assert_locked (EMutex *m
); gint e_mutex_cond_wait (gpointer cond
,EMutex *m
);
typedef struct { struct _EDListNode *next; struct _EDListNode *prev; } EDListNode;
EDListNode
is deprecated and should not be used in newly-written code.
typedef struct { struct _EDListNode *head; struct _EDListNode *tail; struct _EDListNode *tailpred; } EDList;
EDList
is deprecated and should not be used in newly-written code.
#define E_DLIST_INITIALISER(l) { (EDListNode *)&l.tail, NULL, (EDListNode *)&l.head }
E_DLIST_INITIALISER
is deprecated and should not be used in newly-written code.
|
void e_dlist_init (EDList *v
);
e_dlist_init
is deprecated and should not be used in newly-written code.
|
EDListNode * e_dlist_addhead (EDList *l
,EDListNode *n
);
e_dlist_addhead
is deprecated and should not be used in newly-written code.
|
|
|
|
Returns : |
EDListNode * e_dlist_addtail (EDList *l
,EDListNode *n
);
e_dlist_addtail
is deprecated and should not be used in newly-written code.
|
|
|
|
Returns : |
EDListNode * e_dlist_remove (EDListNode *n
);
e_dlist_remove
is deprecated and should not be used in newly-written code.
|
|
Returns : |
EDListNode * e_dlist_remhead (EDList *l
);
e_dlist_remhead
is deprecated and should not be used in newly-written code.
|
|
Returns : |
EDListNode * e_dlist_remtail (EDList *l
);
e_dlist_remtail
is deprecated and should not be used in newly-written code.
|
|
Returns : |
gint e_dlist_empty (EDList *l
);
e_dlist_empty
is deprecated and should not be used in newly-written code.
|
|
Returns : |
gint e_dlist_length (EDList *l
);
e_dlist_length
is deprecated and should not be used in newly-written code.
|
|
Returns : |
typedef struct { struct _EMCacheNode *next, *prev; gchar *key; gint ref_count; time_t stamp; } EMCacheNode;
EMCache * em_cache_new (time_t timeout
,gsize nodesize
,GFreeFunc nodefree
);
Setup a new timeout cache. nodesize
is the size of nodes in the
cache, and nodefree
will be called to free YOUR content.
Returns : |
EMCacheNode * em_cache_lookup (EMCache *emc
,const gchar *key
);
Lookup a cache node. once you're finished with it, you need to unref it.
Returns : |
EMCacheNode * em_cache_node_new (EMCache *emc
,const gchar *key
);
Create a new key'd cache node. The node will not be added to the cache until you insert it.
Returns : |
void em_cache_node_unref (EMCache *emc
,EMCacheNode *n
);
unref a cache node, you can only unref nodes which have been looked up.
void em_cache_add (EMCache *emc
,EMCacheNode *n
);
Add a cache node to the cache, once added the memory is owned by the cache. If there are conflicts and the old node is still in use, then the new node is not added, otherwise it is added and any nodes older than the expire time are flushed.
typedef struct _EMsgPort EMsgPort;
EMsgPort
is deprecated and should not be used in newly-written code.
typedef struct { EDListNode ln; EMsgPort *reply_port; gint flags; } EMsg;
EMsg
is deprecated and should not be used in newly-written code.
EMsgPort * e_msgport_new (void
);
e_msgport_new
is deprecated and should not be used in newly-written code.
Returns : |
void e_msgport_destroy (EMsgPort *mp
);
e_msgport_destroy
is deprecated and should not be used in newly-written code.
|
gint e_msgport_fd (EMsgPort *mp
);
e_msgport_fd
is deprecated and should not be used in newly-written code.
|
|
Returns : |
struct PRFileDesc * e_msgport_prfd (EMsgPort *mp
);
e_msgport_prfd
is deprecated and should not be used in newly-written code.
|
|
Returns : |
void e_msgport_put (EMsgPort *mp
,EMsg *msg
);
e_msgport_put
is deprecated and should not be used in newly-written code.
|
|
|
EMsg * e_msgport_wait (EMsgPort *mp
);
e_msgport_wait
is deprecated and should not be used in newly-written code.
|
|
Returns : |
EMsg * e_msgport_get (EMsgPort *mp
);
e_msgport_get
is deprecated and should not be used in newly-written code.
|
|
Returns : |
void e_msgport_reply (EMsg *msg
);
e_msgport_reply
is deprecated and should not be used in newly-written code.
|
typedef struct _EThread EThread;
EThread
is deprecated and should not be used in newly-written code.
typedef enum { E_THREAD_QUEUE = 0, /* run one by one, until done, if the queue_limit is reached, discard new request */ E_THREAD_DROP, /* run one by one, until done, if the queue_limit is reached, discard oldest requests */ E_THREAD_NEW /* always run in a new thread, if the queue limit is reached, new requests are stored in the queue until a thread becomes available for it, creating a thread pool */ } e_thread_t;
e_thread_t
is deprecated and should not be used in newly-written code.
void (*EThreadFunc) (EThread *Param1
,EMsg *Param2
,gpointer data
);
EThreadFunc
is deprecated and should not be used in newly-written code.
|
|
|
|
|
EThread * e_thread_new (e_thread_t type
);
e_thread_new
is deprecated and should not be used in newly-written code.
|
|
Returns : |
void e_thread_destroy (EThread *e
);
e_thread_destroy
is deprecated and should not be used in newly-written code.
|
void e_thread_set_queue_limit (EThread *e
,gint limit
);
e_thread_set_queue_limit
is deprecated and should not be used in newly-written code.
|
|
|
void e_thread_set_msg_lost (EThread *e
,EThreadFunc destroy
,gpointer data
);
e_thread_set_msg_lost
is deprecated and should not be used in newly-written code.
|
|
|
|
|
void e_thread_set_msg_destroy (EThread *e
,EThreadFunc destroy
,gpointer data
);
e_thread_set_msg_destroy
is deprecated and should not be used in newly-written code.
|
|
|
|
|
void e_thread_set_reply_port (EThread *e
,EMsgPort *reply_port
);
e_thread_set_reply_port
is deprecated and should not be used in newly-written code.
|
|
|
void e_thread_set_msg_received (EThread *e
,EThreadFunc received
,gpointer data
);
e_thread_set_msg_received
is deprecated and should not be used in newly-written code.
|
|
|
|
|
void e_thread_put (EThread *e
,EMsg *msg
);
e_thread_put
is deprecated and should not be used in newly-written code.
|
|
|
gint e_thread_busy (EThread *e
);
e_thread_busy
is deprecated and should not be used in newly-written code.
|
|
Returns : |
typedef struct _EMutex EMutex;
EMutex
is deprecated and should not be used in newly-written code.
typedef enum _e_mutex_t { E_MUTEX_SIMPLE, /* == pthread_mutex */ E_MUTEX_REC /* recursive mutex */ } e_mutex_t;
e_mutex_t
is deprecated and should not be used in newly-written code.
EMutex * e_mutex_new (e_mutex_t type
);
e_mutex_new
is deprecated and should not be used in newly-written code.
|
|
Returns : |
gint e_mutex_destroy (EMutex *m
);
e_mutex_destroy
is deprecated and should not be used in newly-written code.
|
|
Returns : |
gint e_mutex_lock (EMutex *m
);
e_mutex_lock
is deprecated and should not be used in newly-written code.
|
|
Returns : |
gint e_mutex_unlock (EMutex *m
);
e_mutex_unlock
is deprecated and should not be used in newly-written code.
|
|
Returns : |
void e_mutex_assert_locked (EMutex *m
);
e_mutex_assert_locked
is deprecated and should not be used in newly-written code.
|