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_FOLDER_SUMMARY_H 8 #define CAMEL_M365_FOLDER_SUMMARY_H 9 10 #include <camel/camel.h> 11 12 #include "camel-m365-message-info.h" 13 14 #define CAMEL_M365_FOLDER_SUMMARY_VERSION (1) 15 16 /* Standard GObject macros */ 17 #define CAMEL_TYPE_M365_FOLDER_SUMMARY \ 18 (camel_m365_folder_summary_get_type ()) 19 #define CAMEL_M365_FOLDER_SUMMARY(obj) \ 20 (G_TYPE_CHECK_INSTANCE_CAST \ 21 ((obj), CAMEL_TYPE_M365_FOLDER_SUMMARY, CamelM365FolderSummary)) 22 #define CAMEL_M365_FOLDER_SUMMARY_CLASS(cls) \ 23 (G_TYPE_CHECK_CLASS_CAST \ 24 ((cls), CAMEL_TYPE_M365_FOLDER_SUMMARY, CamelM365FolderSummaryClass)) 25 #define CAMEL_IS_M365_FOLDER_SUMMARY(obj) \ 26 (G_TYPE_CHECK_INSTANCE_TYPE \ 27 ((obj), CAMEL_TYPE_M365_FOLDER_SUMMARY)) 28 #define CAMEL_IS_M365_FOLDER_SUMMARY_CLASS(cls) \ 29 (G_TYPE_CHECK_CLASS_TYPE \ 30 ((cls), CAMEL_TYPE_M365_FOLDER_SUMMARY)) 31 #define CAMEL_M365_FOLDER_SUMMARY_GET_CLASS(obj) \ 32 (G_TYPE_INSTANCE_GET_CLASS \ 33 ((obj), CAMEL_TYPE_M365_FOLDER_SUMMARY, CamelM365FolderSummaryClass)) 34 35 G_BEGIN_DECLS 36 37 typedef struct _CamelM365FolderSummary CamelM365FolderSummary; 38 typedef struct _CamelM365FolderSummaryClass CamelM365FolderSummaryClass; 39 typedef struct _CamelM365FolderSummaryPrivate CamelM365FolderSummaryPrivate; 40 41 struct _CamelM365FolderSummary { 42 CamelFolderSummary parent; 43 CamelM365FolderSummaryPrivate *priv; 44 }; 45 46 struct _CamelM365FolderSummaryClass { 47 CamelFolderSummaryClass parent_class; 48 }; 49 50 GType camel_m365_folder_summary_get_type (void); 51 52 CamelFolderSummary * 53 camel_m365_folder_summary_new (CamelFolder *folder); 54 gint camel_m365_folder_summary_get_version (CamelM365FolderSummary *m365_summary); 55 void camel_m365_folder_summary_set_delta_link(CamelM365FolderSummary *m365_summary, 56 const gchar *delta_link); 57 gchar * camel_m365_folder_summary_dup_delta_link(CamelM365FolderSummary *m365_summary); 58 void camel_m365_folder_summary_clear (CamelFolderSummary *summary); 59 gboolean camel_m365_folder_summary_update_message_info_flags 60 (CamelFolderSummary *summary, 61 CamelMessageInfo *info, 62 guint32 server_flags, 63 const CamelNamedFlags *server_user_flags); 64 gboolean camel_m365_folder_summary_add_message (CamelFolderSummary *summary, 65 const gchar *uid, 66 const gchar *change_key, 67 CamelMessageInfo *info, 68 CamelMimeMessage *message); 69 70 G_END_DECLS 71 72 #endif /* CAMEL_M365_FOLDER_SUMMARY_H */ 73