]> git.notmuchmail.org Git - notmuch/blob - util/gmime-extra.h
util: fake gmime-2.6 compatible API for gmime-3.0
[notmuch] / util / gmime-extra.h
1 #ifndef _GMIME_EXTRA_H
2 #define _GMIME_EXTRA_H
3 #include <gmime/gmime.h>
4
5 GMimeStream *g_mime_stream_stdout_new(void);
6
7 #include <talloc.h>
8
9
10 #if (GMIME_MAJOR_VERSION < 3)
11
12 #define GMIME_ADDRESS_TYPE_TO GMIME_RECIPIENT_TYPE_TO
13 #define GMIME_ADDRESS_TYPE_CC GMIME_RECIPIENT_TYPE_CC
14 #define GMIME_ADDRESS_TYPE_BCC GMIME_RECIPIENT_TYPE_BCC
15
16
17 #else /* GMime >= 3.0 */
18 typedef GMimeAddressType GMimeRecipientType;
19
20 #define GMIME_ENABLE_RFC_2047_WORKAROUNDS 0xdeadbeef
21 #define g_mime_content_type_to_string(c) g_mime_content_type_get_mime_type (c)
22 #define g_mime_filter_crlf_new(encode,dots) g_mime_filter_dos2unix_new (FALSE)
23 #define g_mime_gpg_context_new(func,path) g_mime_gpg_context_new ()
24 #define g_mime_gpg_context_set_use_agent(ctx,val) /*ignore*/
25 #define g_mime_gpg_context_set_always_trust(ctx,val) /*ignore*/
26 #define g_mime_init(flags) g_mime_init()
27 #define g_mime_message_add_recipient(m,t,n,a) g_mime_message_add_mailbox (m,t,n,a)
28 #define g_mime_message_set_subject(m,s) g_mime_message_set_subject(m,s,NULL)
29 #define g_mime_multipart_encrypted_decrypt(mpe,ctx,out,err) g_mime_multipart_encrypted_decrypt(mpe, 0, NULL, out, err)
30 #define g_mime_multipart_signed_verify(mps,ctx,err) g_mime_multipart_signed_verify(mps, 0, err)
31 #define g_mime_object_write_to_stream(o,s) g_mime_object_write_to_stream (o,NULL,s)
32 #define g_mime_object_set_header(o,h,v) g_mime_object_set_header (o,h,v,NULL)
33 #define g_mime_parser_construct_message(p) g_mime_parser_construct_message (p, g_mime_parser_options_get_default ())
34 #define g_mime_part_get_content_object(p) g_mime_part_get_content (p)
35 #define g_mime_pkcs7_context_new(arg) g_mime_pkcs7_context_new()
36 #define g_mime_pkcs7_context_set_always_trust(ctx,val) /*ignore*/
37 #define g_mime_signature_get_errors(sig) g_mime_signature_get_status (sig)
38 #define g_mime_utils_header_decode_text(txt) g_mime_utils_header_decode_text (NULL, txt)
39 #define internet_address_to_string(ia,encode) internet_address_to_string (ia,NULL,encode)
40 #define internet_address_list_parse_string(str) internet_address_list_parse (NULL,str)
41 typedef GMimeAddressType GMimeRecipientType;
42 #endif
43
44 /**
45  * Return the contents of the appropriate address header as a string
46  * Should be freed using g_free
47  */
48 char *g_mime_message_get_address_string (GMimeMessage *message, GMimeRecipientType type);
49
50 InternetAddressList * g_mime_message_get_addresses (GMimeMessage *message, GMimeRecipientType type);
51
52 /**
53  * return talloc allocated date string
54  */
55
56 char *g_mime_message_get_date_string (void *ctx, GMimeMessage *message);
57
58 /**
59  * glib allocated list of From: addresses
60  */
61
62 InternetAddressList * g_mime_message_get_from (GMimeMessage *message);
63
64 /**
65  * return string for From: address
66  * (owned by gmime)
67  */
68 const char * g_mime_message_get_from_string (GMimeMessage *message);
69
70 InternetAddressList * g_mime_message_get_reply_to_list (GMimeMessage *message);
71
72 /**
73  * return talloc allocated reply-to string
74  */
75 char * g_mime_message_get_reply_to_string (void *ctx, GMimeMessage *message);
76 #endif