2 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
5 * Michael Zucchi <notzed@ximian.com>
6 * Dan Winship <danw@ximian.com>
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of version 2 of the GNU Lesser General Public
10 * License as published by the Free Software Foundation.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this program; if not, write to the
19 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
23 #ifndef CAMEL_IMAPX_SUMMARY_H
24 #define CAMEL_IMAPX_SUMMARY_H
26 #include <camel/camel.h>
28 /* Standard GObject macros */
29 #define CAMEL_TYPE_IMAPX_SUMMARY \
30 (camel_imapx_summary_get_type ())
31 #define CAMEL_IMAPX_SUMMARY(obj) \
32 (G_TYPE_CHECK_INSTANCE_CAST \
33 ((obj), CAMEL_TYPE_IMAPX_SUMMARY, CamelIMAPXSummary))
34 #define CAMEL_IMAPX_SUMMARY_CLASS(cls) \
35 (G_TYPE_CHECK_CLASS_CAST \
36 ((cls), CAMEL_TYPE_IMAPX_SUMMARY, CamelIMAPXSummaryClass))
37 #define CAMEL_IS_IMAPX_SUMMARY(obj) \
38 (G_TYPE_CHECK_INSTANCE_TYPE \
39 ((obj), CAMEL_TYPE_IMAPX_SUMMARY))
40 #define CAMEL_IS_IMAPX_SUMMARY_CLASS(cls) \
41 (G_TYPE_CHECK_CLASS_TYPE \
42 ((cls), CAMEL_TYPE_IMAPX_SUMMARY))
43 #define CAMEL_IMAPX_SUMMARY_GET_CLASS(obj) \
44 (G_TYPE_INSTANCE_GET_CLASS \
45 ((obj), CAMEL_TYPE_IMAPX_SUMMARY, CamelIMAPXSummaryClass))
47 #define CAMEL_IMAPX_SERVER_FLAGS \
48 (CAMEL_MESSAGE_ANSWERED | CAMEL_MESSAGE_DELETED | \
49 CAMEL_MESSAGE_DRAFT | CAMEL_MESSAGE_FLAGGED | \
50 CAMEL_MESSAGE_JUNK | CAMEL_MESSAGE_NOTJUNK | \
55 typedef struct _CamelIMAPXSummary CamelIMAPXSummary;
56 typedef struct _CamelIMAPXSummaryClass CamelIMAPXSummaryClass;
58 typedef struct _CamelIMAPXMessageInfo CamelIMAPXMessageInfo;
59 typedef struct _CamelIMAPXMessageContentInfo CamelIMAPXMessageContentInfo;
61 struct _CamelIMAPXMessageContentInfo {
62 CamelMessageContentInfo info;
65 struct _CamelIMAPXMessageInfo {
66 CamelMessageInfoBase info;
69 CamelFlag *server_user_flags;
72 struct _CamelIMAPXSummary {
73 CamelFolderSummary parent;
81 struct _CamelIMAPXSummaryClass {
82 CamelFolderSummaryClass parent_class;
85 GType camel_imapx_summary_get_type (void);
87 camel_imapx_summary_new (CamelFolder *folder);
88 void camel_imapx_summary_add_offline (CamelFolderSummary *summary,
90 CamelMimeMessage *message,
91 const CamelMessageInfo *info);
92 void camel_imapx_summary_add_offline_uncached
93 (CamelFolderSummary *summary,
95 const CamelMessageInfo *info);
99 #endif /* CAMEL_IMAPX_SUMMARY_H */