Implemented the folder.preload_message_bodies backend op
parent
aa24d5133e
commit
eca09c87cc
|
@ -142,6 +142,7 @@
|
||||||
- (int) modifyPermissions: (struct PermissionData *) permissions
|
- (int) modifyPermissions: (struct PermissionData *) permissions
|
||||||
withCount: (uint16_t) pcount
|
withCount: (uint16_t) pcount
|
||||||
andFlags: (int8_t) flags;
|
andFlags: (int8_t) flags;
|
||||||
|
- (enum mapistore_error) preloadMessageBodies: (const struct I8Array_r *) mids;
|
||||||
|
|
||||||
/* helpers */
|
/* helpers */
|
||||||
- (uint64_t) idForObjectWithKey: (NSString *) childKey;
|
- (uint64_t) idForObjectWithKey: (NSString *) childKey;
|
||||||
|
|
|
@ -1751,6 +1751,11 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
|
||||||
return MAPISTORE_SUCCESS;
|
return MAPISTORE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (enum mapistore_error) preloadMessageBodies: (const struct I8Array_r *) mids
|
||||||
|
{
|
||||||
|
return MAPISTORE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
- (uint64_t) objectId
|
- (uint64_t) objectId
|
||||||
{
|
{
|
||||||
uint64_t objectId;
|
uint64_t objectId;
|
||||||
|
|
|
@ -796,6 +796,34 @@ sogo_folder_modify_permissions(void *folder_object, uint8_t flags,
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static enum mapistore_error
|
||||||
|
sogo_folder_preload_message_bodies(void *folder_object, const struct I8Array_r *mids)
|
||||||
|
{
|
||||||
|
struct MAPIStoreTallocWrapper *wrapper;
|
||||||
|
NSAutoreleasePool *pool;
|
||||||
|
MAPIStoreFolder *folder;
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__));
|
||||||
|
|
||||||
|
if (folder_object)
|
||||||
|
{
|
||||||
|
wrapper = folder_object;
|
||||||
|
folder = wrapper->instance;
|
||||||
|
GSRegisterCurrentThread ();
|
||||||
|
pool = [NSAutoreleasePool new];
|
||||||
|
rc = [folder preloadMessageBodies: mids];
|
||||||
|
[pool release];
|
||||||
|
GSUnregisterCurrentThread ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = sogo_backend_unexpected_error();
|
||||||
|
}
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
static enum mapistore_error
|
static enum mapistore_error
|
||||||
sogo_message_get_message_data(void *message_object,
|
sogo_message_get_message_data(void *message_object,
|
||||||
TALLOC_CTX *mem_ctx,
|
TALLOC_CTX *mem_ctx,
|
||||||
|
@ -1506,6 +1534,7 @@ int mapistore_init_backend(void)
|
||||||
backend.folder.get_child_count = sogo_folder_get_child_count;
|
backend.folder.get_child_count = sogo_folder_get_child_count;
|
||||||
backend.folder.open_table = sogo_folder_open_table;
|
backend.folder.open_table = sogo_folder_open_table;
|
||||||
backend.folder.modify_permissions = sogo_folder_modify_permissions;
|
backend.folder.modify_permissions = sogo_folder_modify_permissions;
|
||||||
|
backend.folder.preload_message_bodies = sogo_folder_preload_message_bodies;
|
||||||
backend.message.create_attachment = sogo_message_create_attachment;
|
backend.message.create_attachment = sogo_message_create_attachment;
|
||||||
backend.message.get_attachment_table = sogo_message_get_attachment_table;
|
backend.message.get_attachment_table = sogo_message_get_attachment_table;
|
||||||
backend.message.open_attachment = sogo_message_open_attachment;
|
backend.message.open_attachment = sogo_message_open_attachment;
|
||||||
|
|
Loading…
Reference in New Issue