Monotone-Parent: 79dc6e23f29ab39ef98de2d45f1c37249b3c4152

Monotone-Revision: 5b4c993653702d15ad66f63a1c94781ddd2e36aa

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-07-13T21:41:58
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2011-07-13 21:41:58 +00:00
parent 78e8ffe78f
commit 53d65fddb8
16 changed files with 565 additions and 642 deletions

View File

@@ -91,29 +91,33 @@
return rc;
}
- (int) openEmbeddedMessage: (MAPIStoreAttachmentMessage **) message
- (int) openEmbeddedMessage: (MAPIStoreAttachmentMessage **) messagePtr
withMID: (uint64_t *) mid
withMAPIStoreMsg: (struct mapistore_message *) mapistoreMsg
andFlags: (enum OpenEmbeddedMessage_OpenModeFlags) flags
withMAPIStoreMsg: (struct mapistore_message **) mapistoreMsgPtr
inMemCtx: (TALLOC_CTX *) memCtx
{
MAPIStoreAttachmentMessage *attMessage;
MAPIStoreMapping *mapping;
memset (mapistoreMsg, 0, sizeof (struct mapistore_message));
struct mapistore_message *mapistoreMsg;
mapistoreMsg = talloc_zero (memCtx, struct mapistore_message);
mapping = [[self context] mapping];
attMessage = [self openEmbeddedMessage];
if (attMessage)
*mid = [mapping idFromURL: [attMessage url]];
else if (flags == MAPI_CREATE)
{
attMessage = [self createEmbeddedMessage];
if (attMessage)
[mapping registerURL: [attMessage url]
withID: *mid];
*mid = [mapping idFromURL: [attMessage url]];
*messagePtr = attMessage;
*mapistoreMsgPtr = mapistoreMsg;
}
*message = attMessage;
// else if (flags == MAPI_CREATE)
// {
// attMessage = [self createEmbeddedMessage];
// if (attMessage)
// [mapping registerURL: [attMessage url]
// withID: *mid];
// }
return (attMessage ? MAPISTORE_SUCCESS : MAPISTORE_ERROR);
}