Monotone-Parent: 9488bb1220eb58936dc8d649bae5b7ecf2fe01fc

Monotone-Revision: 119b17733c942a5a103bfac69d069f4162241916

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-11-01T01:00:33
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-11-01 01:00:33 +00:00
parent 4da013c4e3
commit 2110fba1a3
5 changed files with 44 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2011-10-31 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2011-10-31 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreSOGo.m (sogo_message_set_read_flag): new
backend op.
* OpenChange/MAPIStoreMailMessage.m (-_fetchBodyData): fetch body * OpenChange/MAPIStoreMailMessage.m (-_fetchBodyData): fetch body
keys with BODY.PEEK rather than just BODY, to disabled the keys with BODY.PEEK rather than just BODY, to disabled the
automatic setting of the "\Seen" flag. automatic setting of the "\Seen" flag.

View File

@ -1533,6 +1533,11 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data)
return attachment; return attachment;
} }
- (int) setReadFlag: (uint8_t) flag
{
return MAPISTORE_SUCCESS;
}
- (void) save - (void) save
{ {
NSNumber *value; NSNumber *value;

View File

@ -65,6 +65,7 @@ extern NSData *MAPIStoreExternalEntryId (NSString *cn, NSString *email);
withAID: (uint32_t) aid; withAID: (uint32_t) aid;
- (int) getAttachmentTable: (MAPIStoreAttachmentTable **) tablePtr - (int) getAttachmentTable: (MAPIStoreAttachmentTable **) tablePtr
andRowCount: (uint32_t *) countPtr; andRowCount: (uint32_t *) countPtr;
- (int) setReadFlag: (uint8_t) flag;
- (int) saveMessage; - (int) saveMessage;
/* helper getters */ /* helper getters */

View File

@ -742,6 +742,13 @@ MAPIStoreExternalEntryId (NSString *cn, NSString *email)
return [self getNo: data inMemCtx: memCtx];; return [self getNo: data inMemCtx: memCtx];;
} }
- (int) setReadFlag: (uint8_t) flag
{
[self subclassResponsibility: _cmd];
return MAPISTORE_ERROR;
}
- (void) save - (void) save
{ {
[self subclassResponsibility: _cmd]; [self subclassResponsibility: _cmd];

View File

@ -708,6 +708,33 @@ sogo_message_modify_recipients (void *message_object,
return rc; return rc;
} }
static int
sogo_message_set_read_flag (void *message_object, uint8_t flag)
{
struct MAPIStoreTallocWrapper *wrapper;
NSAutoreleasePool *pool;
MAPIStoreMessage *message;
int rc;
DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
if (message_object)
{
wrapper = message_object;
message = wrapper->MAPIStoreSOGoObject;
pool = [NSAutoreleasePool new];
rc = [message setReadFlag: flag];
// [context tearDownRequest];
[pool release];
}
else
{
rc = sogo_backend_unexpected_error();
}
return rc;
}
static int static int
sogo_message_save (void *message_object) sogo_message_save (void *message_object)
{ {
@ -1168,6 +1195,7 @@ int mapistore_init_backend(void)
backend.message.open_embedded_message = sogo_message_attachment_open_embedded_message; backend.message.open_embedded_message = sogo_message_attachment_open_embedded_message;
backend.message.get_message_data = sogo_message_get_message_data; backend.message.get_message_data = sogo_message_get_message_data;
backend.message.modify_recipients = sogo_message_modify_recipients; backend.message.modify_recipients = sogo_message_modify_recipients;
backend.message.set_read_flag = sogo_message_set_read_flag;
backend.message.save = sogo_message_save; backend.message.save = sogo_message_save;
backend.message.submit = sogo_message_submit; backend.message.submit = sogo_message_submit;
backend.table.get_available_properties = sogo_table_get_available_properties; backend.table.get_available_properties = sogo_table_get_available_properties;