Renamed -preloadMessageBodies: to preloadMessageBodiesWithMIDs: and perform a conversion of MIDs to message keys instead of the subclass code

maint-2.0.2
Wolfgang Sourdeau 2012-10-06 13:01:44 -04:00
parent 61b6050058
commit a7691c552b
3 changed files with 29 additions and 3 deletions

View File

@ -144,7 +144,7 @@
- (int) modifyPermissions: (struct PermissionData *) permissions
withCount: (uint16_t) pcount
andFlags: (int8_t) flags;
- (enum mapistore_error) preloadMessageBodies: (const struct UI8Array_r *) mids;
- (enum mapistore_error) preloadMessageBodiesWithMIDs: (const struct UI8Array_r *) mids;
/* helpers */
- (uint64_t) idForObjectWithKey: (NSString *) childKey;
@ -176,6 +176,8 @@
- (BOOL) supportsSubFolders; /* capability */
- (enum mapistore_error) preloadMessageBodiesWithKeys: (NSArray *) keys;
/* subclass helpers */
- (void) setupVersionsMessage;
- (void) postNotificationsForMoveCopyMessagesWithMIDs: (uint64_t *) srcMids

View File

@ -1753,7 +1753,31 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
return MAPISTORE_SUCCESS;
}
- (enum mapistore_error) preloadMessageBodies: (const struct UI8Array_r *) mids
- (enum mapistore_error) preloadMessageBodiesWithMIDs: (const struct UI8Array_r *) mids
{
uint32_t count;
NSMutableArray *messageKeys;
MAPIStoreMapping *mapping;
NSString *messageURL, *messageKey;
messageKeys = [NSMutableArray arrayWithCapacity: mids->cValues];
mapping = [self mapping];
for (count = 0; count < mids->cValues; count++)
{
messageURL = [mapping urlFromID: mids->lpui8[count]];
if (messageURL)
{
messageKey = [self childKeyFromURL: messageURL];
if (messageKey)
[messageKeys addObject: messageKey];
}
}
return [self preloadMessageBodiesWithKeys: messageKeys];
}
- (enum mapistore_error) preloadMessageBodiesWithKeys: (NSArray *) keys
{
return MAPISTORE_SUCCESS;
}

View File

@ -812,7 +812,7 @@ sogo_folder_preload_message_bodies(void *folder_object, const struct UI8Array_r
folder = wrapper->instance;
GSRegisterCurrentThread ();
pool = [NSAutoreleasePool new];
rc = [folder preloadMessageBodies: mids];
rc = [folder preloadMessageBodiesWithMIDs: mids];
[pool release];
GSUnregisterCurrentThread ();
}