mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 01:16:31 +03:00
start integration work
This commit is contained in:
@@ -538,307 +538,14 @@ int dc_is_configured (const dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Execute pending imap-jobs.
|
||||
* This function and dc_perform_imap_fetch() and dc_perform_imap_idle()
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* void* imap_thread_func(void* context)
|
||||
* {
|
||||
* while (true) {
|
||||
* dc_perform_imap_jobs(context);
|
||||
* dc_perform_imap_fetch(context);
|
||||
* dc_perform_imap_idle(context);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* // start imap-thread that runs forever
|
||||
* pthread_t imap_thread;
|
||||
* pthread_create(&imap_thread, NULL, imap_thread_func, context);
|
||||
*
|
||||
* ... program runs ...
|
||||
*
|
||||
* // network becomes available again -
|
||||
* // the interrupt causes dc_perform_imap_idle() in the thread above
|
||||
* // to return so that jobs are executed and messages are fetched.
|
||||
* dc_maybe_network(context);
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
* TODO: Document
|
||||
*/
|
||||
void dc_perform_imap_jobs (dc_context_t* context);
|
||||
|
||||
void dc_run (dc_context_t* context);
|
||||
|
||||
/**
|
||||
* Fetch new messages, if any.
|
||||
* This function and dc_perform_imap_jobs() and dc_perform_imap_idle() must be called from the same thread,
|
||||
* typically in a loop.
|
||||
*
|
||||
* See dc_perform_imap_jobs() for an example.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
* TODO: Document
|
||||
*/
|
||||
void dc_perform_imap_fetch (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Wait for messages or jobs.
|
||||
* This function and dc_perform_imap_jobs() and dc_perform_imap_fetch() must be called from the same thread,
|
||||
* typically in a loop.
|
||||
*
|
||||
* You should call this function directly after calling dc_perform_imap_fetch().
|
||||
*
|
||||
* See dc_perform_imap_jobs() for an example.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_imap_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Interrupt waiting for imap-jobs.
|
||||
* If dc_perform_imap_jobs(), dc_perform_imap_fetch() and dc_perform_imap_idle() are called in a loop,
|
||||
* calling this function causes imap-jobs to be executed and messages to be fetched.
|
||||
*
|
||||
* dc_interrupt_imap_idle() does _not_ interrupt dc_perform_imap_jobs() or dc_perform_imap_fetch().
|
||||
* If the imap-thread is inside one of these functions when dc_interrupt_imap_idle() is called, however,
|
||||
* the next call of the imap-thread to dc_perform_imap_idle() is interrupted immediately.
|
||||
*
|
||||
* Internally, this function is called whenever a imap-jobs should be processed
|
||||
* (delete message, markseen etc.).
|
||||
*
|
||||
* When you need to call this function just because to get jobs done after network changes,
|
||||
* use dc_maybe_network() instead.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_interrupt_imap_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Execute pending mvbox-jobs.
|
||||
* This function and dc_perform_mvbox_fetch() and dc_perform_mvbox_idle()
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* void* mvbox_thread_func(void* context)
|
||||
* {
|
||||
* while (true) {
|
||||
* dc_perform_mvbox_jobs(context);
|
||||
* dc_perform_mvbox_fetch(context);
|
||||
* dc_perform_mvbox_idle(context);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* // start mvbox-thread that runs forever
|
||||
* pthread_t mvbox_thread;
|
||||
* pthread_create(&mvbox_thread, NULL, mvbox_thread_func, context);
|
||||
*
|
||||
* ... program runs ...
|
||||
*
|
||||
* // network becomes available again -
|
||||
* // the interrupt causes dc_perform_mvbox_idle() in the thread above
|
||||
* // to return so that jobs are executed and messages are fetched.
|
||||
* dc_maybe_network(context);
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_mvbox_jobs (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Fetch new messages from the MVBOX, if any.
|
||||
* The MVBOX is a folder on the account where chat messages are moved to.
|
||||
* The moving is done to not disturb shared accounts that are used by both,
|
||||
* Delta Chat and a classical MUA.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_mvbox_fetch (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Wait for messages or jobs in the MVBOX-thread.
|
||||
* This function and dc_perform_mvbox_fetch().
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* You should call this function directly after calling dc_perform_mvbox_fetch().
|
||||
*
|
||||
* See dc_perform_mvbox_fetch() for an example.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_mvbox_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Interrupt waiting for MVBOX-fetch.
|
||||
* dc_interrupt_mvbox_idle() does _not_ interrupt dc_perform_mvbox_fetch().
|
||||
* If the MVBOX-thread is inside this function when dc_interrupt_mvbox_idle() is called, however,
|
||||
* the next call of the MVBOX-thread to dc_perform_mvbox_idle() is interrupted immediately.
|
||||
*
|
||||
* Internally, this function is called whenever a imap-jobs should be processed.
|
||||
*
|
||||
* When you need to call this function just because to get jobs done after network changes,
|
||||
* use dc_maybe_network() instead.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_interrupt_mvbox_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Execute pending sentbox-jobs.
|
||||
* This function and dc_perform_sentbox_fetch() and dc_perform_sentbox_idle()
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* void* sentbox_thread_func(void* context)
|
||||
* {
|
||||
* while (true) {
|
||||
* dc_perform_sentbox_jobs(context);
|
||||
* dc_perform_sentbox_fetch(context);
|
||||
* dc_perform_sentbox_idle(context);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* // start sentbox-thread that runs forever
|
||||
* pthread_t sentbox_thread;
|
||||
* pthread_create(&sentbox_thread, NULL, sentbox_thread_func, context);
|
||||
*
|
||||
* ... program runs ...
|
||||
*
|
||||
* // network becomes available again -
|
||||
* // the interrupt causes dc_perform_sentbox_idle() in the thread above
|
||||
* // to return so that jobs are executed and messages are fetched.
|
||||
* dc_maybe_network(context);
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_sentbox_jobs (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Fetch new messages from the Sent folder, if any.
|
||||
* This function and dc_perform_sentbox_idle()
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_sentbox_fetch (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Wait for messages or jobs in the SENTBOX-thread.
|
||||
* This function and dc_perform_sentbox_fetch()
|
||||
* must be called from the same thread, typically in a loop.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_sentbox_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Interrupt waiting for messages or jobs in the SENTBOX-thread.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_interrupt_sentbox_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Execute pending smtp-jobs.
|
||||
* This function and dc_perform_smtp_idle() must be called from the same thread,
|
||||
* typically in a loop.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* void* smtp_thread_func(void* context)
|
||||
* {
|
||||
* while (true) {
|
||||
* dc_perform_smtp_jobs(context);
|
||||
* dc_perform_smtp_idle(context);
|
||||
* }
|
||||
* }
|
||||
*
|
||||
* // start smtp-thread that runs forever
|
||||
* pthread_t smtp_thread;
|
||||
* pthread_create(&smtp_thread, NULL, smtp_thread_func, context);
|
||||
*
|
||||
* ... program runs ...
|
||||
*
|
||||
* // network becomes available again -
|
||||
* // the interrupt causes dc_perform_smtp_idle() in the thread above
|
||||
* // to return so that jobs are executed
|
||||
* dc_maybe_network(context);
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_smtp_jobs (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Wait for smtp-jobs.
|
||||
* This function and dc_perform_smtp_jobs() must be called from the same thread,
|
||||
* typically in a loop.
|
||||
*
|
||||
* See dc_interrupt_smtp_idle() for an example.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_perform_smtp_idle (dc_context_t* context);
|
||||
|
||||
|
||||
/**
|
||||
* Interrupt waiting for smtp-jobs.
|
||||
* If dc_perform_smtp_jobs() and dc_perform_smtp_idle() are called in a loop,
|
||||
* calling this function causes jobs to be executed.
|
||||
*
|
||||
* dc_interrupt_smtp_idle() does _not_ interrupt dc_perform_smtp_jobs().
|
||||
* If the smtp-thread is inside this function when dc_interrupt_smtp_idle() is called, however,
|
||||
* the next call of the smtp-thread to dc_perform_smtp_idle() is interrupted immediately.
|
||||
*
|
||||
* Internally, this function is called whenever a message is to be sent.
|
||||
*
|
||||
* When you need to call this function just because to get jobs done after network changes,
|
||||
* use dc_maybe_network() instead.
|
||||
*
|
||||
* @memberof dc_context_t
|
||||
* @param context The context as created by dc_context_new().
|
||||
* @return None.
|
||||
*/
|
||||
void dc_interrupt_smtp_idle (dc_context_t* context);
|
||||
|
||||
void dc_shutdown (dc_context_t* context);
|
||||
|
||||
/**
|
||||
* This function can be called whenever there is a hint
|
||||
|
||||
Reference in New Issue
Block a user