aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-maildir-summary.h
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/local/camel-maildir-summary.h')
-rw-r--r--camel/providers/local/camel-maildir-summary.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/camel/providers/local/camel-maildir-summary.h b/camel/providers/local/camel-maildir-summary.h
index 25ea845c21..24c2b5579b 100644
--- a/camel/providers/local/camel-maildir-summary.h
+++ b/camel/providers/local/camel-maildir-summary.h
@@ -37,10 +37,19 @@ typedef struct _CamelMaildirMessageContentInfo {
CamelMessageContentInfo info;
} CamelMaildirMessageContentInfo;
+#ifdef DOESTRV
+enum {
+ CAMEL_MAILDIR_INFO_FILENAME = CAMEL_MESSAGE_INFO_LAST,
+ CAMEL_MAILDIR_INFO_LAST,
+};
+#endif
+
typedef struct _CamelMaildirMessageInfo {
CamelMessageInfo info;
+#ifndef DOESTRV
char *filename; /* maildir has this annoying status shit on the end of the filename, use this to get the real message id */
+#endif
} CamelMaildirMessageInfo;
struct _CamelMaildirSummary {
@@ -63,5 +72,13 @@ CamelMaildirSummary *camel_maildir_summary_new (const char *filename, const char
char *camel_maildir_summary_info_to_name(const CamelMessageInfo *info);
int camel_maildir_summary_name_to_info(CamelMessageInfo *info, const char *name);
+#ifdef DOESTRV
+#define camel_maildir_info_filename(x) camel_message_info_string((const CamelMessageInfo *)(x), CAMEL_MAILDIR_INFO_FILENAME)
+#define camel_maildir_info_set_filename(x, s) camel_message_info_set_string((CamelMessageInfo *)(x), CAMEL_MAILDIR_INFO_FILENAME, s)
+#else
+#define camel_maildir_info_filename(x) (((CamelMaildirMessageInfo *)x)->filename)
+#define camel_maildir_info_set_filename(x, s) (g_free(((CamelMaildirMessageInfo *)x)->filename),((CamelMaildirMessageInfo *)x)->filename = s)
+#endif
+
#endif /* ! _CAMEL_MAILDIR_SUMMARY_H */