Monotone-Parent: e7dd3bb5cb62d21b28b85097bbe032f542f56abd

Monotone-Revision: 15fd0e7998431cfadca34d58a018fe6ec485a682

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-03-31T22:17:50
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-03-31 22:17:50 +00:00
parent b6020215da
commit 755144d16c
2 changed files with 36 additions and 0 deletions

View File

@ -1,5 +1,8 @@
2011-03-31 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreSOGo.m: added new
"sogo_pocop_open_embedded_message" backend method.
* OpenChange/MAPIStoreCalendarAttachment.[hm]: new class module
for handling event attachments or "exceptions".

View File

@ -31,6 +31,7 @@
#import <SOGo/SOGoSystemDefaults.h>
#import "MAPIApplication.h"
#import "MAPIStoreAttachment.h"
#import "MAPIStoreContext.h"
#import "MAPIStoreObject.h"
#import "MAPIStoreTable.h"
@ -974,6 +975,37 @@ sogo_pocop_create_attachment (void *private_data, uint64_t mid, uint32_t *aid, v
return rc;
}
static int
sogo_pocop_open_embedded_message (void *attachment_object,
uint64_t *mid, enum OpenEmbeddedMessage_OpenModeFlags flags,
struct mapistore_message *msg, void **message_object)
{
NSAutoreleasePool *pool;
MAPIStoreAttachment *attachment;
int rc;
DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
pool = [NSAutoreleasePool new];
if (attachment_object)
{
attachment = attachment_object;
pool = [NSAutoreleasePool new];
rc = [attachment openEmbeddedMessage: message_object
withMID: mid
withMAPIStoreMsg: msg andFlags: flags];
[pool release];
}
else
{
NSLog (@" UNEXPECTED WEIRDNESS: RECEIVED NO CONTEXT");
rc = MAPI_E_NOT_FOUND;
}
return rc;
}
static int
sogo_pocop_set_table_columns (void *table_object, uint16_t count, enum MAPITAGS *properties)
{
@ -1219,6 +1251,7 @@ int mapistore_init_backend(void)
backend.message.get_attachment_table = sogo_pocop_get_attachment_table;
backend.message.get_attachment = sogo_pocop_get_attachment;
backend.message.create_attachment = sogo_pocop_create_attachment;
backend.message.open_embedded_message = sogo_pocop_open_embedded_message;
backend.table.set_restrictions = sogo_pocop_set_table_restrictions;
backend.table.set_sort_order = sogo_pocop_set_table_sort_order;
backend.table.set_columns = sogo_pocop_set_table_columns;