1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * SPDX-FileCopyrightText: (C) 2020 Red Hat (www.redhat.com)
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  */
6 
7 #ifndef CAMEL_M365_UTILS_H
8 #define CAMEL_M365_UTILS_H
9 
10 #include <camel/camel.h>
11 
12 #include "common/e-m365-connection.h"
13 
14 EM365Connection *
15 		camel_m365_utils_new_connection	(CamelService *service,
16 						 GCancellable *cancellable);
17 gchar *		camel_m365_utils_encode_category_name
18 						(const gchar *name);
19 gchar *		camel_m365_utils_decode_category_name
20 						(const gchar *flag);
21 gboolean	camel_m365_utils_is_system_user_flag
22 						(const gchar *name);
23 const gchar *	camel_m365_utils_rename_label	(const gchar *cat,
24 						 gboolean from_cat);
25 void		camel_m365_utils_add_message_flags
26 						(JsonBuilder *builder,
27 						 CamelMessageInfo *info,
28 						 CamelMimeMessage *message);
29 gboolean	camel_m365_utils_fill_message_object_sync
30 						(JsonBuilder *builder,
31 						 CamelMimeMessage *message,
32 						 CamelMessageInfo *info,
33 						 CamelAddress *override_from,
34 						 CamelAddress *override_recipients, /* it merges them, not really override */
35 						 gboolean is_send,
36 						 GSList **out_attachments,
37 						 GCancellable *cancellable,
38 						 GError **error);
39 gboolean	camel_m365_utils_create_message_sync
40 						(EM365Connection *cnc,
41 						 const gchar *folder_id,
42 						 CamelMimeMessage *message,
43 						 CamelMessageInfo *info,
44 						 gchar **out_appended_id,
45 						 GCancellable *cancellable,
46 						 GError **error);
47 
48 #endif /* CAMEL_M365_UTILS_H */
49