}
static void
+imapx_sync_message (CamelFolder *folder, const gchar *uid, CamelException *ex)
+{
+ CamelIMAPXStore *istore = (CamelIMAPXStore *)folder->parent_store;
+
+ if (CAMEL_OFFLINE_STORE (istore)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL)
+ return;
+
+ if (istore->server && camel_imapx_server_connect (istore->server, 1))
+ camel_imapx_server_sync_message (istore->server, folder, uid, ex);
+}
+
+static void
imapx_transfer_messages_to (CamelFolder *source, GPtrArray *uids,
CamelFolder *dest, GPtrArray **transferred_uids,
gboolean delete_originals, CamelException *ex)
((CamelFolderClass *)klass)->expunge = imapx_expunge;
((CamelFolderClass *)klass)->get_message = imapx_get_message;
+ ((CamelFolderClass *)klass)->sync_message = imapx_sync_message;
((CamelFolderClass *)klass)->append_message = imapx_append_message;
((CamelFolderClass *)klass)->transfer_messages_to = imapx_transfer_messages_to;
((CamelFolderClass *)klass)->get_filename = imapx_get_filename;
}
void
+camel_imapx_server_sync_message (CamelIMAPXServer *is, CamelFolder *folder, const gchar *uid, CamelException *ex)
+{
+ gchar *cache_file = NULL;
+ CamelIMAPXFolder *ifolder = (CamelIMAPXFolder *) folder;
+ CamelStream *stream;
+
+ cache_file = camel_data_cache_get_filename (ifolder->cache, "cur", uid, NULL);
+ if (g_file_test (cache_file, G_FILE_TEST_EXISTS)) {
+ g_free (cache_file);
+ return;
+ }
+
+ stream = imapx_server_get_message (is, folder, uid, 10, ex);
+ if (stream)
+ camel_object_unref(stream);
+}
+
+void
camel_imapx_server_copy_message (CamelIMAPXServer *is, CamelFolder *source, CamelFolder *dest, GPtrArray *uids, gboolean delete_originals, CamelException *ex)
{
CamelIMAPXJob *job;
CamelStream *camel_imapx_server_get_message(CamelIMAPXServer *is, CamelFolder *folder, const gchar *uid, struct _CamelException *ex);
void camel_imapx_server_copy_message (CamelIMAPXServer *is, CamelFolder *source, CamelFolder *dest, GPtrArray *uids, gboolean delete_originals, CamelException *ex);
void camel_imapx_server_append_message(CamelIMAPXServer *is, CamelFolder *folder, struct _CamelMimeMessage *message, const struct _CamelMessageInfo *mi, CamelException *ex);
+void camel_imapx_server_sync_message (CamelIMAPXServer *is, CamelFolder *folder, const gchar *uid, CamelException *ex);
#endif /* _CAMEL_IMAPX_SERVER_H */