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>
* OpenChange/MAPIStoreSOGo.m (sogo_message_set_read_flag): new
backend op.
* OpenChange/MAPIStoreMailMessage.m (-_fetchBodyData): fetch body
keys with BODY.PEEK rather than just BODY, to disabled the
automatic setting of the "\Seen" flag.

View File

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

View File

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

View File

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

View File

@ -708,6 +708,33 @@ sogo_message_modify_recipients (void *message_object,
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
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.get_message_data = sogo_message_get_message_data;
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.submit = sogo_message_submit;
backend.table.get_available_properties = sogo_table_get_available_properties;