Delta Chat Core C-API
dc_mimefactory.h
1 #ifndef __DC_MIMEFACTORY_H__
2 #define __DC_MIMEFACTORY_H__
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 
8 typedef struct _dc_mimefactory dc_mimefactory_t;
9 
10 
11 #define DC_CMD_GROUPNAME_CHANGED 2
12 #define DC_CMD_GROUPIMAGE_CHANGED 3
13 #define DC_CMD_MEMBER_ADDED_TO_GROUP 4
14 #define DC_CMD_MEMBER_REMOVED_FROM_GROUP 5
15 #define DC_CMD_AUTOCRYPT_SETUP_MESSAGE 6
16 #define DC_CMD_SECUREJOIN_MESSAGE 7
17 #define DC_CMD_LOCATION_STREAMING_ENABLED 8
18 #define DC_CMD_LOCATION_ONLY 9
19 
20 
21 typedef enum {
22  DC_MF_NOTHING_LOADED = 0,
23  DC_MF_MSG_LOADED,
24  DC_MF_MDN_LOADED
25 } dc_mimefactory_loaded_t;
26 
27 
31 struct _dc_mimefactory {
32 
35  /* in: parameters, set eg. by dc_mimefactory_load_msg() */
36  char* from_addr;
37  char* from_displayname;
38  char* selfstatus;
39  clist* recipients_names;
40  clist* recipients_addr;
41  time_t timestamp;
42  char* rfc724_mid;
43 
44  /* what is loaded? */
45  dc_mimefactory_loaded_t loaded;
46 
47  dc_msg_t* msg;
48  dc_chat_t* chat;
49  int increation;
50  char* in_reply_to;
51  char* references;
52  int req_mdn;
53 
54  // out: after a call to dc_mimefactory_render(), here's the data or the error
55  MMAPString* out;
56  int out_encrypted;
57  int out_gossiped;
58  uint32_t out_last_added_location_id;
59  char* error;
60 
61  /* private */
62  dc_context_t* context;
63 
64 };
65 
66 
67 void dc_mimefactory_init (dc_mimefactory_t*, dc_context_t*);
68 void dc_mimefactory_empty (dc_mimefactory_t*);
69 int dc_mimefactory_load_msg (dc_mimefactory_t*, uint32_t msg_id);
70 int dc_mimefactory_load_mdn (dc_mimefactory_t*, uint32_t msg_id);
71 int dc_mimefactory_render (dc_mimefactory_t*);
72 
73 
74 #ifdef __cplusplus
75 } /* /extern "C" */
76 #endif
77 #endif /* __DC_MIMEFACTORY_H__ */
78 
dc_chat_t
dc_context_t
dc_msg_t