23 #ifndef __MRMAILBOX_H__ 24 #define __MRMAILBOX_H__ 30 #define MR_VERSION_MAJOR 0 31 #define MR_VERSION_MINOR 10 32 #define MR_VERSION_REVISION 0 146 #include <libetpan/libetpan.h> 148 #include "mrchatlist.h" 151 #include "mrcontact.h" 157 typedef struct mrimap_t mrimap_t;
158 typedef struct mrsmtp_t mrsmtp_t;
159 typedef struct mrsqlite3_t mrsqlite3_t;
160 typedef struct mrjob_t mrjob_t;
161 typedef struct mrmimeparser_t mrmimeparser_t;
189 typedef struct mrmailbox_t
201 pthread_t m_job_thread;
202 pthread_cond_t m_job_cond;
203 pthread_mutex_t m_job_condmutex;
211 uint32_t m_cmdline_sel_chat_id;
214 pthread_mutex_t m_wake_lock_critical;
218 #define MR_LOG_RINGBUF_SIZE 200 219 pthread_mutex_t m_log_ringbuf_critical;
220 char* m_log_ringbuf[MR_LOG_RINGBUF_SIZE];
222 time_t m_log_ringbuf_times[MR_LOG_RINGBUF_SIZE];
224 int m_log_ringbuf_pos;
233 int mrmailbox_open (mrmailbox_t*,
const char* dbfile,
const char* blobdir);
254 #define MR_GCL_ARCHIVED_ONLY 0x01 255 #define MR_GCL_NO_SPECIALS 0x02 264 uint32_t
mrmailbox_send_image_msg (mrmailbox_t*, uint32_t chat_id,
const char* file,
const char* filemime,
int width,
int height);
265 uint32_t
mrmailbox_send_video_msg (mrmailbox_t*, uint32_t chat_id,
const char* file,
const char* filemime,
int width,
int height,
int duration);
266 uint32_t
mrmailbox_send_voice_msg (mrmailbox_t*, uint32_t chat_id,
const char* file,
const char* filemime,
int duration);
267 uint32_t
mrmailbox_send_audio_msg (mrmailbox_t*, uint32_t chat_id,
const char* file,
const char* filemime,
int duration,
const char* author,
const char* trackname);
272 #define MR_GCM_ADDDAYMARKER 0x01 322 #define MR_IMEX_CANCEL 0 323 #define MR_IMEX_EXPORT_SELF_KEYS 1 324 #define MR_IMEX_IMPORT_SELF_KEYS 2 325 #define MR_IMEX_EXPORT_BACKUP 11 326 #define MR_IMEX_IMPORT_BACKUP 12 327 #define MR_IMEX_EXPORT_SETUP_MESSAGE 20 328 #define MR_BAK_PREFIX "delta-chat" 329 #define MR_BAK_SUFFIX "bak" 330 void mrmailbox_imex (mrmailbox_t*,
int what,
const char* param1,
const char* setup_code);
338 void mrmailbox_log_error (mrmailbox_t*,
int code,
const char* msg, ...);
339 void mrmailbox_log_error_if (
int* condition, mrmailbox_t*,
int code,
const char* msg, ...);
340 void mrmailbox_log_warning (mrmailbox_t*,
int code,
const char* msg, ...);
341 void mrmailbox_log_info (mrmailbox_t*,
int code,
const char* msg, ...);
342 void mrmailbox_log_vprintf (mrmailbox_t*,
int event,
int code,
const char* msg, va_list);
343 int mrmailbox_get_thread_index (
void);
347 #define MR_ERR_SELF_NOT_IN_GROUP 1 348 #define MR_ERR_NONETWORK 2 352 int mrchat_set_draft (
mrchat_t*,
const char* msg);
353 #define mrpoortext_t mrlot_t 354 #define mrpoortext_unref mrlot_unref 358 uint32_t mrmailbox_send_msg_object (mrmailbox_t*, uint32_t chat_id,
mrmsg_t*);
359 void mrmailbox_connect_to_imap (mrmailbox_t*, mrjob_t*);
360 void mrmailbox_wake_lock (mrmailbox_t*);
361 void mrmailbox_wake_unlock (mrmailbox_t*);
362 int mrmailbox_poke_eml_file (mrmailbox_t*,
const char* file);
363 int mrmailbox_is_reply_to_known_message__ (mrmailbox_t*, mrmimeparser_t*);
364 int mrmailbox_is_reply_to_messenger_message__ (mrmailbox_t*, mrmimeparser_t*);
365 time_t mrmailbox_correct_bad_timestamp__ (mrmailbox_t* ths, uint32_t chat_id, uint32_t from_id, time_t desired_timestamp,
int is_fresh_msg);
366 void mrmailbox_add_or_lookup_contacts_by_mailbox_list__(mrmailbox_t* ths,
struct mailimf_mailbox_list* mb_list,
int origin,
mrarray_t* ids,
int* check_self);
367 void mrmailbox_add_or_lookup_contacts_by_address_list__(mrmailbox_t* ths,
struct mailimf_address_list* adr_list,
int origin,
mrarray_t* ids,
int* check_self);
368 int mrmailbox_get_archived_count__ (mrmailbox_t*);
369 int mrmailbox_reset_tables (mrmailbox_t*,
int bits);
370 size_t mrmailbox_get_real_contact_cnt__ (mrmailbox_t*);
371 uint32_t mrmailbox_add_or_lookup_contact__ (mrmailbox_t*,
const char* display_name ,
const char* addr_spec,
int origin,
int* sth_modified);
372 int mrmailbox_get_contact_origin__ (mrmailbox_t*, uint32_t
id,
int* ret_blocked);
373 int mrmailbox_is_contact_blocked__ (mrmailbox_t*, uint32_t
id);
374 int mrmailbox_real_contact_exists__ (mrmailbox_t*, uint32_t
id);
375 int mrmailbox_contact_addr_equals__ (mrmailbox_t*, uint32_t contact_id,
const char* other_addr);
376 void mrmailbox_scaleup_contact_origin__ (mrmailbox_t*, uint32_t contact_id,
int origin);
377 void mrmailbox_unarchive_chat__ (mrmailbox_t*, uint32_t chat_id);
378 size_t mrmailbox_get_chat_cnt__ (mrmailbox_t*);
379 uint32_t mrmailbox_create_or_lookup_nchat_by_contact_id__ (mrmailbox_t*, uint32_t contact_id);
380 uint32_t mrmailbox_lookup_real_nchat_by_contact_id__ (mrmailbox_t*, uint32_t contact_id);
381 int mrmailbox_get_total_msg_count__ (mrmailbox_t*, uint32_t chat_id);
382 int mrmailbox_get_fresh_msg_count__ (mrmailbox_t*, uint32_t chat_id);
383 uint32_t mrmailbox_get_last_deaddrop_fresh_msg__ (mrmailbox_t*);
384 void mrmailbox_send_msg_to_smtp (mrmailbox_t*, mrjob_t*);
385 void mrmailbox_send_msg_to_imap (mrmailbox_t*, mrjob_t*);
386 int mrmailbox_add_contact_to_chat__ (mrmailbox_t*, uint32_t chat_id, uint32_t contact_id);
387 int mrmailbox_is_contact_in_chat__ (mrmailbox_t*, uint32_t chat_id, uint32_t contact_id);
388 int mrmailbox_get_chat_contact_count__ (mrmailbox_t*, uint32_t chat_id);
389 int mrmailbox_group_explicitly_left__ (mrmailbox_t*,
const char* grpid);
390 void mrmailbox_set_group_explicitly_left__ (mrmailbox_t*,
const char* grpid);
391 size_t mrmailbox_get_real_msg_cnt__ (mrmailbox_t*);
392 size_t mrmailbox_get_deaddrop_msg_cnt__ (mrmailbox_t*);
393 int mrmailbox_rfc724_mid_cnt__ (mrmailbox_t*,
const char* rfc724_mid);
394 int mrmailbox_rfc724_mid_exists__ (mrmailbox_t*,
const char* rfc724_mid,
char** ret_server_folder, uint32_t* ret_server_uid);
395 void mrmailbox_update_server_uid__ (mrmailbox_t*,
const char* rfc724_mid,
const char* server_folder, uint32_t server_uid);
396 void mrmailbox_update_msg_chat_id__ (mrmailbox_t*, uint32_t msg_id, uint32_t chat_id);
397 void mrmailbox_update_msg_state__ (mrmailbox_t*, uint32_t msg_id,
int state);
398 void mrmailbox_delete_msg_on_imap (mrmailbox_t* mailbox, mrjob_t* job);
399 int mrmailbox_mdn_from_ext__ (mrmailbox_t*, uint32_t from_id,
const char* rfc724_mid, uint32_t* ret_chat_id, uint32_t* ret_msg_id);
400 void mrmailbox_send_mdn (mrmailbox_t*, mrjob_t* job);
401 void mrmailbox_markseen_msg_on_imap (mrmailbox_t* mailbox, mrjob_t* job);
402 void mrmailbox_markseen_mdn_on_imap (mrmailbox_t* mailbox, mrjob_t* job);
406 #define MR_E2EE_DEFAULT_ENABLED 1 407 #define MR_MDNS_DEFAULT_ENABLED 1 409 typedef struct mrmailbox_e2ee_helper_t {
410 int m_encryption_successfull;
411 void* m_cdata_to_free;
412 } mrmailbox_e2ee_helper_t;
414 void mrmailbox_e2ee_encrypt (mrmailbox_t*,
const clist* recipients_addr,
int e2ee_guaranteed,
int encrypt_to_self,
struct mailmime* in_out_message, mrmailbox_e2ee_helper_t*);
415 int mrmailbox_e2ee_decrypt (mrmailbox_t*,
struct mailmime* in_out_message,
int* ret_validation_errors);
416 void mrmailbox_e2ee_thanks (mrmailbox_e2ee_helper_t*);
417 int mrmailbox_ensure_secret_key_exists (mrmailbox_t*);
int mrmailbox_add_address_book(mrmailbox_t *mailbox, const char *adr_book)
Add a number of contacts.
Definition: mrmailbox.c:4339
+
uint32_t mrmailbox_create_group_chat(mrmailbox_t *mailbox, const char *chat_name)
Create a new group chat.
Definition: mrmailbox.c:3627
+
uint32_t mrmailbox_create_contact(mrmailbox_t *mailbox, const char *name, const char *addr)
Add a single contact.
Definition: mrmailbox.c:4296
+
uint32_t mrmailbox_send_text_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *text_to_send)
Send a simple text message a given chat.
Definition: mrmailbox.c:3249
+
void mrmailbox_close(mrmailbox_t *mailbox)
Close mailbox database.
Definition: mrmailbox.c:1083
+
mrmailbox_t * mrmailbox_new(mrmailboxcb_t cb, void *userdata, const char *os_name)
Create a new mailbox object.
Definition: mrmailbox.c:900
+
int mrmailbox_is_contact_in_chat(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Check if a given contact ID is a member of a group chat.
Definition: mrmailbox.c:3865
The following constants are used as events reported to the callback given to mrmailbox_new().
-
mrchat_t * mrmailbox_get_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Get chat object by a chat ID.
Definition: mrmailbox.c:1697
-
int mrmailbox_remove_contact_from_chat(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Remove a member from a group.
Definition: mrmailbox.c:3980
-
int mrmailbox_open(mrmailbox_t *mailbox, const char *dbfile, const char *blobdir)
Open mailbox database.
Definition: mrmailbox.c:1016
+
mrchat_t * mrmailbox_get_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Get chat object by a chat ID.
Definition: mrmailbox.c:1699
+
int mrmailbox_remove_contact_from_chat(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Remove a member from a group.
Definition: mrmailbox.c:3982
+
int mrmailbox_open(mrmailbox_t *mailbox, const char *dbfile, const char *blobdir)
Open mailbox database.
Definition: mrmailbox.c:1018
An object containing a simple array.
Definition: mrarray.h:39
-
mrarray_t * mrmailbox_get_chat_msgs(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t flags, uint32_t marker1before)
Get all message IDs belonging to a chat.
Definition: mrmailbox.c:2109
-
uint32_t mrmailbox_send_file_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime)
Send a document to a chat.
Definition: mrmailbox.c:3462
-
int mrmailbox_delete_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Delete a contact.
Definition: mrmailbox.c:4825
+
mrarray_t * mrmailbox_get_chat_msgs(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t flags, uint32_t marker1before)
Get all message IDs belonging to a chat.
Definition: mrmailbox.c:2111
+
uint32_t mrmailbox_send_file_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime)
Send a document to a chat.
Definition: mrmailbox.c:3464
+
int mrmailbox_delete_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Delete a contact.
Definition: mrmailbox.c:4827
An object representing a single chatlist in memory.
Definition: mrchatlist.h:43
-
void mrmailbox_heartbeat(mrmailbox_t *ths)
Stay alive.
Definition: mrmailbox.c:1621
-
void mrmailbox_star_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt, int star)
Star/unstar messages by setting the last parameter to 0 (unstar) or 1(star).
Definition: mrmailbox.c:5270
-
int mrmailbox_set_config(mrmailbox_t *ths, const char *key, const char *value)
Configure the mailbox.
Definition: mrmailbox.c:1182
-
An object representing a single mailbox.
Definition: mrmailbox.h:184
-
void mrmailbox_delete_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt)
Delete messages.
Definition: mrmailbox.c:5412
-
uint32_t mrmailbox_send_video_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int width, int height, int duration)
Send an video to a chat.
Definition: mrmailbox.c:3333
-
int mrmailbox_is_open(const mrmailbox_t *mailbox)
Check if the mailbox database is open.
Definition: mrmailbox.c:1115
-
void mrmailbox_archive_chat(mrmailbox_t *mailbox, uint32_t chat_id, int archive)
Archive or unarchive a chat.
Definition: mrmailbox.c:2647
-
char * mrmailbox_get_info(mrmailbox_t *mailbox)
Get information about the mailbox.
Definition: mrmailbox.c:1283
-
mrarray_t * mrmailbox_get_blocked_contacts(mrmailbox_t *mailbox)
Get blocked contacts.
Definition: mrmailbox.c:4456
-
mrarray_t * mrmailbox_get_known_contacts(mrmailbox_t *mailbox, const char *query)
Returns known and unblocked contacts.
Definition: mrmailbox.c:4392
-
int mrmailbox_add_contact_to_chat(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Add a member to a group.
Definition: mrmailbox.c:3895
-
uint32_t mrmailbox_get_next_media(mrmailbox_t *mailbox, uint32_t curr_msg_id, int dir)
Get next/previous message of the same type.
Definition: mrmailbox.c:1916
-
char * mrmailbox_get_version_str(void)
Find out the version of the Delta Chat core library.
Definition: mrmailbox.c:1481
-
void mrmailbox_disconnect(mrmailbox_t *mailbox)
Disonnect the mailbox from the server.
Definition: mrmailbox.c:1596
-
uint32_t mrmailbox_send_voice_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int duration)
Send a voice message to a chat.
Definition: mrmailbox.c:3377
-
void mrmailbox_connect(mrmailbox_t *mailbox)
Connect to the mailbox using the configured settings.
Definition: mrmailbox.c:1569
-
int mrmailbox_get_total_msg_count(mrmailbox_t *mailbox, uint32_t chat_id)
Get the total number of messages in a chat.
Definition: mrmailbox.c:2579
-
uint32_t mrmailbox_send_vcard_msg(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Send foreign contact data to a chat.
Definition: mrmailbox.c:3510
-
void mrmailbox_unref(mrmailbox_t *mailbox)
Free a mailbox object.
Definition: mrmailbox.c:955
-
void mrmailbox_block_contact(mrmailbox_t *mailbox, uint32_t contact_id, int new_blocking)
Block or unblock a contact.
Definition: mrmailbox.c:4606
-
uintptr_t(* mrmailboxcb_t)(mrmailbox_t *, int event, uintptr_t data1, uintptr_t data2)
Callback function that should be given to mrmailbox_new().
Definition: mrmailbox.h:174
+
void mrmailbox_heartbeat(mrmailbox_t *ths)
Stay alive.
Definition: mrmailbox.c:1623
+
void mrmailbox_star_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt, int star)
Star/unstar messages by setting the last parameter to 0 (unstar) or 1(star).
Definition: mrmailbox.c:5272
+
int mrmailbox_set_config(mrmailbox_t *ths, const char *key, const char *value)
Configure the mailbox.
Definition: mrmailbox.c:1184
+
An object representing a single mailbox.
Definition: mrmailbox.h:189
+
void mrmailbox_delete_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt)
Delete messages.
Definition: mrmailbox.c:5414
+
uint32_t mrmailbox_send_video_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int width, int height, int duration)
Send an video to a chat.
Definition: mrmailbox.c:3335
+
int mrmailbox_is_open(const mrmailbox_t *mailbox)
Check if the mailbox database is open.
Definition: mrmailbox.c:1117
+
void mrmailbox_archive_chat(mrmailbox_t *mailbox, uint32_t chat_id, int archive)
Archive or unarchive a chat.
Definition: mrmailbox.c:2649
+
char * mrmailbox_get_info(mrmailbox_t *mailbox)
Get information about the mailbox.
Definition: mrmailbox.c:1285
+
mrarray_t * mrmailbox_get_blocked_contacts(mrmailbox_t *mailbox)
Get blocked contacts.
Definition: mrmailbox.c:4458
+
mrarray_t * mrmailbox_get_known_contacts(mrmailbox_t *mailbox, const char *query)
Returns known and unblocked contacts.
Definition: mrmailbox.c:4394
+
int mrmailbox_add_contact_to_chat(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Add a member to a group.
Definition: mrmailbox.c:3897
+
uint32_t mrmailbox_get_next_media(mrmailbox_t *mailbox, uint32_t curr_msg_id, int dir)
Get next/previous message of the same type.
Definition: mrmailbox.c:1918
+
char * mrmailbox_get_version_str(void)
Find out the version of the Delta Chat core library.
Definition: mrmailbox.c:1483
+
void mrmailbox_disconnect(mrmailbox_t *mailbox)
Disonnect the mailbox from the server.
Definition: mrmailbox.c:1598
+
uint32_t mrmailbox_send_voice_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int duration)
Send a voice message to a chat.
Definition: mrmailbox.c:3379
+
void mrmailbox_connect(mrmailbox_t *mailbox)
Connect to the mailbox using the configured settings.
Definition: mrmailbox.c:1571
+
int mrmailbox_get_total_msg_count(mrmailbox_t *mailbox, uint32_t chat_id)
Get the total number of messages in a chat.
Definition: mrmailbox.c:2581
+
uint32_t mrmailbox_send_vcard_msg(mrmailbox_t *mailbox, uint32_t chat_id, uint32_t contact_id)
Send foreign contact data to a chat.
Definition: mrmailbox.c:3512
+
void mrmailbox_unref(mrmailbox_t *mailbox)
Free a mailbox object.
Definition: mrmailbox.c:957
+
void mrmailbox_block_contact(mrmailbox_t *mailbox, uint32_t contact_id, int new_blocking)
Block or unblock a contact.
Definition: mrmailbox.c:4608
+
uintptr_t(* mrmailboxcb_t)(mrmailbox_t *, int event, uintptr_t data1, uintptr_t data2)
Callback function that should be given to mrmailbox_new().
Definition: mrmailbox.h:179
int mrmailbox_configure_and_connect(mrmailbox_t *mailbox)
Configure and connect a mailbox.
Definition: mrmailbox_configure.c:397
-
mrchatlist_t * mrmailbox_get_chatlist(mrmailbox_t *mailbox, int listflags, const char *query)
Get a list of chats.
Definition: mrmailbox.c:1653
+
mrchatlist_t * mrmailbox_get_chatlist(mrmailbox_t *mailbox, int listflags, const char *query)
Get a list of chats.
Definition: mrmailbox.c:1655
An object representing a single message in memory.
Definition: mrmsg.h:40
-
uint32_t mrmailbox_get_chat_id_by_contact_id(mrmailbox_t *mailbox, uint32_t contact_id)
Check, if there is a normal chat with a given contact.
Definition: mrmailbox.c:1777
-
int mrmailbox_get_fresh_msg_count(mrmailbox_t *mailbox, uint32_t chat_id)
Get the number of fresh messages in a chat.
Definition: mrmailbox.c:2607
-
void mrmailbox_delete_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Delete a chat.
Definition: mrmailbox.c:2768
-
void mrmailbox_set_draft(mrmailbox_t *mailbox, uint32_t chat_id, const char *msg)
Save a draft for a chat.
Definition: mrmailbox.c:2362
-
int mrmailbox_get_blocked_count(mrmailbox_t *mailbox)
Get the number of blocked contacts.
Definition: mrmailbox.c:4490
-
mrarray_t * mrmailbox_search_msgs(mrmailbox_t *mailbox, uint32_t chat_id, const char *query)
Search messages containing the given query string.
Definition: mrmailbox.c:2213
-
uint32_t mrmailbox_send_image_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int width, int height)
Send an image to a chat.
Definition: mrmailbox.c:3288
-
mrmsg_t * mrmailbox_get_msg(mrmailbox_t *mailbox, uint32_t msg_id)
Get a single message object of the type mrmsg_t.
Definition: mrmailbox.c:5017
-
void * m_userdata
Use data, may be used for any purpose.
Definition: mrmailbox.h:186
+
uint32_t mrmailbox_get_chat_id_by_contact_id(mrmailbox_t *mailbox, uint32_t contact_id)
Check, if there is a normal chat with a given contact.
Definition: mrmailbox.c:1779
+
int mrmailbox_get_fresh_msg_count(mrmailbox_t *mailbox, uint32_t chat_id)
Get the number of fresh messages in a chat.
Definition: mrmailbox.c:2609
+
void mrmailbox_delete_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Delete a chat.
Definition: mrmailbox.c:2770
+
void mrmailbox_set_draft(mrmailbox_t *mailbox, uint32_t chat_id, const char *msg)
Save a draft for a chat.
Definition: mrmailbox.c:2364
+
int mrmailbox_get_blocked_count(mrmailbox_t *mailbox)
Get the number of blocked contacts.
Definition: mrmailbox.c:4492
+
mrarray_t * mrmailbox_search_msgs(mrmailbox_t *mailbox, uint32_t chat_id, const char *query)
Search messages containing the given query string.
Definition: mrmailbox.c:2215
+
uint32_t mrmailbox_send_image_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int width, int height)
Send an image to a chat.
Definition: mrmailbox.c:3290
+
mrmsg_t * mrmailbox_get_msg(mrmailbox_t *mailbox, uint32_t msg_id)
Get a single message object of the type mrmsg_t.
Definition: mrmailbox.c:5019
+
void * m_userdata
Use data, may be used for any purpose.
Definition: mrmailbox.h:191
int mrmailbox_is_configured(mrmailbox_t *mailbox)
Check if the mailbox is already configured.
Definition: mrmailbox_configure.c:751
-
int mrmailbox_set_chat_profile_image(mrmailbox_t *mailbox, uint32_t chat_id, const char *new_image)
Set group profile image.
Definition: mrmailbox.c:3774
-
uint32_t mrmailbox_create_chat_by_contact_id(mrmailbox_t *mailbox, uint32_t contact_id)
Create a normal chat with a single user.
Definition: mrmailbox.c:1804
-
void mrmailbox_forward_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt, uint32_t chat_id)
Forward messages to another chat.
Definition: mrmailbox.c:5184
-
void mrmailbox_markseen_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt)
Mark a message as seen, updates the IMAP state and sends MDNs.
Definition: mrmailbox.c:5553
-
mrarray_t * mrmailbox_get_chat_contacts(mrmailbox_t *mailbox, uint32_t chat_id)
Get contact IDs belonging to a chat.
Definition: mrmailbox.c:1992
-
void mrmailbox_marknoticed_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Mark all message in a chat as noticed.
Definition: mrmailbox.c:1743
-
char * mrmailbox_imex_has_backup(mrmailbox_t *mailbox, const char *dir_name)
Check if there is a backup file.
Definition: mrmailbox_imex.c:697
+
int mrmailbox_set_chat_profile_image(mrmailbox_t *mailbox, uint32_t chat_id, const char *new_image)
Set group profile image.
Definition: mrmailbox.c:3776
+
uint32_t mrmailbox_create_chat_by_contact_id(mrmailbox_t *mailbox, uint32_t contact_id)
Create a normal chat with a single user.
Definition: mrmailbox.c:1806
+
void mrmailbox_forward_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt, uint32_t chat_id)
Forward messages to another chat.
Definition: mrmailbox.c:5186
+
void mrmailbox_markseen_msgs(mrmailbox_t *mailbox, const uint32_t *msg_ids, int msg_cnt)
Mark a message as seen, updates the IMAP state and sends MDNs.
Definition: mrmailbox.c:5555
+
mrarray_t * mrmailbox_get_chat_contacts(mrmailbox_t *mailbox, uint32_t chat_id)
Get contact IDs belonging to a chat.
Definition: mrmailbox.c:1994
+
void mrmailbox_marknoticed_chat(mrmailbox_t *mailbox, uint32_t chat_id)
Mark all message in a chat as noticed.
Definition: mrmailbox.c:1745
+
char * mrmailbox_imex_has_backup(mrmailbox_t *mailbox, const char *dir_name)
Check if there is a backup file.
Definition: mrmailbox_imex.c:693
void mrmailbox_configure_cancel(mrmailbox_t *mailbox)
Signal the configure-process to stop.
Definition: mrmailbox_configure.c:720
-
mrarray_t * mrmailbox_get_fresh_msgs(mrmailbox_t *mailbox)
Returns the message IDs of all fresh messages of any chat.
Definition: mrmailbox.c:2041
-
mrcontact_t * mrmailbox_get_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Get a single contact object.
Definition: mrmailbox.c:4532
-
int mrmailbox_check_password(mrmailbox_t *mailbox, const char *test_pw)
Check if the user is authorized by the given password in some way.
Definition: mrmailbox_imex.c:1051
-
void mrmailbox_marknoticed_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Mark all messages send by the given contact as noticed.
Definition: mrmailbox.c:4580
-
int mrmailbox_set_config_int(mrmailbox_t *ths, const char *key, int32_t value)
Configure the mailbox.
Definition: mrmailbox.c:1235
-
int32_t mrmailbox_get_config_int(mrmailbox_t *ths, const char *key, int32_t def)
Get a configuration option.
Definition: mrmailbox.c:1257
-
int mrmailbox_set_chat_name(mrmailbox_t *mailbox, uint32_t chat_id, const char *new_name)
Set group name.
Definition: mrmailbox.c:3693
-
char * mrmailbox_create_setup_code(mrmailbox_t *mailbox)
Create random setup code.
Definition: mrmailbox_imex.c:1108
-
char * mrmailbox_get_contact_encrinfo(mrmailbox_t *mailbox, uint32_t contact_id)
Get encryption info for a contact.
Definition: mrmailbox.c:4697
-
mrarray_t * mrmailbox_get_chat_media(mrmailbox_t *mailbox, uint32_t chat_id, int msg_type, int or_msg_type)
Returns all message IDs of the given types in a chat.
Definition: mrmailbox.c:1884
-
uint32_t mrmailbox_send_audio_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int duration, const char *author, const char *trackname)
Send an audio file to a chat.
Definition: mrmailbox.c:3420
-
void mrmailbox_imex(mrmailbox_t *mailbox, int what, const char *param1, const char *setup_code)
Import/export things.
Definition: mrmailbox_imex.c:998
-
char * mrmailbox_get_config(mrmailbox_t *ths, const char *key, const char *def)
Get a configuration option.
Definition: mrmailbox.c:1213
-
char * mrmailbox_get_msg_info(mrmailbox_t *mailbox, uint32_t msg_id)
Get an informational text for a single message.
Definition: mrmailbox.c:5059
+
mrarray_t * mrmailbox_get_fresh_msgs(mrmailbox_t *mailbox)
Returns the message IDs of all fresh messages of any chat.
Definition: mrmailbox.c:2043
+
mrcontact_t * mrmailbox_get_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Get a single contact object.
Definition: mrmailbox.c:4534
+
int mrmailbox_check_password(mrmailbox_t *mailbox, const char *test_pw)
Check if the user is authorized by the given password in some way.
Definition: mrmailbox_imex.c:1047
+
void mrmailbox_marknoticed_contact(mrmailbox_t *mailbox, uint32_t contact_id)
Mark all messages send by the given contact as noticed.
Definition: mrmailbox.c:4582
+
int mrmailbox_set_config_int(mrmailbox_t *ths, const char *key, int32_t value)
Configure the mailbox.
Definition: mrmailbox.c:1237
+
int32_t mrmailbox_get_config_int(mrmailbox_t *ths, const char *key, int32_t def)
Get a configuration option.
Definition: mrmailbox.c:1259
+
int mrmailbox_set_chat_name(mrmailbox_t *mailbox, uint32_t chat_id, const char *new_name)
Set group name.
Definition: mrmailbox.c:3695
+
char * mrmailbox_create_setup_code(mrmailbox_t *mailbox)
Create random setup code.
Definition: mrmailbox_imex.c:1104
+
char * mrmailbox_get_contact_encrinfo(mrmailbox_t *mailbox, uint32_t contact_id)
Get encryption info for a contact.
Definition: mrmailbox.c:4699
+
mrarray_t * mrmailbox_get_chat_media(mrmailbox_t *mailbox, uint32_t chat_id, int msg_type, int or_msg_type)
Returns all message IDs of the given types in a chat.
Definition: mrmailbox.c:1886
+
uint32_t mrmailbox_send_audio_msg(mrmailbox_t *mailbox, uint32_t chat_id, const char *file, const char *filemime, int duration, const char *author, const char *trackname)
Send an audio file to a chat.
Definition: mrmailbox.c:3422
+
void mrmailbox_imex(mrmailbox_t *mailbox, int what, const char *param1, const char *setup_code)
Import/export things.
Definition: mrmailbox_imex.c:994
+
char * mrmailbox_get_config(mrmailbox_t *ths, const char *key, const char *def)
Get a configuration option.
Definition: mrmailbox.c:1215
+
char * mrmailbox_get_msg_info(mrmailbox_t *mailbox, uint32_t msg_id)
Get an informational text for a single message.
Definition: mrmailbox.c:5061
An object representing a single chat in memory.
Definition: mrchat.h:39