From bbc64ccc8c800d04b341020645aeea8c2916289a Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 30 Jun 2011 19:08:20 +0000 Subject: [PATCH 1/2] Monotone-Parent: 40d6cb69296008deaa81f30c913c4413c0aa6997 Monotone-Revision: 03b2ef9088f0831bd7c90128bf63ead3ee3f82a8 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-06-30T19:08:20 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 5 +++++ OpenChange/MAPIStoreContext.m | 13 ++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 96628b14a..05e8fa900 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-30 Wolfgang Sourdeau + + * OpenChange/MAPIStoreContext.m: the ldb connection handle to + openchange.ldb is now passed via struct mapistore_connection_info. + 2011-06-29 Ludovic Marcotte * Added get/set/unset capabilities to sogo-tool to set diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index d9dd013e6..14869461e 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -73,8 +73,6 @@ static Class NSDataK, NSStringK, MAPIStoreFAIMessageK; static NSMutableDictionary *contextClassMapping; static NSMutableDictionary *userMAPIStoreMapping; -static void *ldbCtx = NULL; - + (void) initialize { NSArray *classes; @@ -211,17 +209,10 @@ _prepareContextClass (struct mapistore_context *newMemCtx, andFID: (uint64_t) newFid inMemCtx: (struct mapistore_context *) newMemCtx { - struct loadparm_context *lpCtx; NSString *username; if ((self = [self init])) { - if (!ldbCtx) - { - lpCtx = loadparm_init (newMemCtx); - ldbCtx = mapiproxy_server_openchange_ldb_init (lpCtx); - } - ASSIGN (contextUrl, newUrl); username = [NSString stringWithUTF8String: newConnInfo->username]; @@ -1018,7 +1009,7 @@ _prepareContextClass (struct mapistore_context *newMemCtx, *path = [[objectURL substringFromIndex: 7] asUnicodeInMemCtx: memCtx]; [self logWithFormat: @"found path '%s' for fmid %.16x", - *path, fmid]; + *path, fmid]; rc = MAPI_E_SUCCESS; } else @@ -1466,7 +1457,7 @@ _prepareContextClass (struct mapistore_context *newMemCtx, mappingId = [mapping idFromURL: childURL]; if (mappingId == NSNotFound) { - openchangedb_get_new_folderID (ldbCtx, &mappingId); + openchangedb_get_new_folderID (connInfo->oc_ctx, &mappingId); [mapping registerURL: childURL withID: mappingId]; contextId = 0; mapistore_search_context_by_uri (memCtx, [folderURL UTF8String] + 7, From df61576105d8cf8ab0a5ccf729ea0a55c41392e0 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 30 Jun 2011 19:10:28 +0000 Subject: [PATCH 2/2] Monotone-Parent: 03b2ef9088f0831bd7c90128bf63ead3ee3f82a8 Monotone-Revision: d7fa74829c523fd87dd6cb456ed8fb4b12564db0 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-06-30T19:10:28 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 3 +++ OpenChange/MAPIStoreContext.h | 2 -- OpenChange/MAPIStoreContext.m | 51 ----------------------------------- OpenChange/MAPIStoreSOGo.m | 27 ------------------- 4 files changed, 3 insertions(+), 80 deletions(-) diff --git a/ChangeLog b/ChangeLog index 05e8fa900..727271d30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-06-30 Wolfgang Sourdeau + * OpenChange/MAPIStoreSOGo.m (sogo_op_get_folders_list): method + removed from struct mapistore_backend. + * OpenChange/MAPIStoreContext.m: the ldb connection handle to openchange.ldb is now passed via struct mapistore_connection_info. diff --git a/OpenChange/MAPIStoreContext.h b/OpenChange/MAPIStoreContext.h index 1a6bf3b8f..04b0c5d62 100644 --- a/OpenChange/MAPIStoreContext.h +++ b/OpenChange/MAPIStoreContext.h @@ -158,8 +158,6 @@ withFlags: (uint8_t) flags; - (int) releaseRecordWithFMID: (uint64_t) fmid ofTableType: (uint8_t) tableType; -- (int) getFoldersList: (struct indexing_folders_list **) folders_list - withFMID: (uint64_t) fmid; /* util methods */ - (NSString *) extractChildNameFromURL: (NSString *) childURL diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index 14869461e..f84f9d7aa 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -1364,57 +1364,6 @@ _prepareContextClass (struct mapistore_context *newMemCtx, return rc; } -- (int) getFoldersList: (struct indexing_folders_list **) folders_list - withFMID: (uint64_t) fmid -{ - int rc; - NSString *currentURL, *url; - NSMutableArray *nsFolderList; - uint64_t fid; - - [self logWithFormat: @"METHOD '%s' -- fmid: 0x%.16x", __FUNCTION__, fmid]; - - rc = MAPI_E_SUCCESS; - - url = [contextUrl absoluteString]; - currentURL = [mapping urlFromID: fmid]; - if (currentURL && ![currentURL isEqualToString: url] - && [currentURL hasPrefix: url]) - { - nsFolderList = [NSMutableArray arrayWithCapacity: 32]; - [self extractChildNameFromURL: currentURL - andFolderURLAt: ¤tURL]; - while (currentURL && rc == MAPI_E_SUCCESS - && ![currentURL isEqualToString: url]) - { - fid = [mapping idFromURL: currentURL]; - if (fid == NSNotFound) - { - [self logWithFormat: @"no fid found for url '%@'", currentURL]; - rc = MAPI_E_NOT_FOUND; - } - else - { - [nsFolderList addObject: [NSNumber numberWithUnsignedLongLong: fid]]; - [self extractChildNameFromURL: currentURL - andFolderURLAt: ¤tURL]; - } - } - - if (rc != MAPI_E_NOT_FOUND) - { - fid = [mapping idFromURL: url]; - [nsFolderList addObject: [NSNumber numberWithUnsignedLongLong: fid]]; - [self logWithFormat: @"resulting folder list: %@", nsFolderList]; - *folders_list = [nsFolderList asFoldersListInCtx: memCtx]; - } - } - else - rc = MAPI_E_NOT_FOUND; - - return rc; -} - /* utils */ - (NSString *) extractChildNameFromURL: (NSString *) objectURL diff --git a/OpenChange/MAPIStoreSOGo.m b/OpenChange/MAPIStoreSOGo.m index e782d15c1..638d563bf 100644 --- a/OpenChange/MAPIStoreSOGo.m +++ b/OpenChange/MAPIStoreSOGo.m @@ -712,32 +712,6 @@ sogo_op_deletemessage(void *private_data, return rc; } -static int -sogo_op_get_folders_list(void *private_data, - uint64_t fmid, - struct indexing_folders_list **folders_list) -{ - NSAutoreleasePool *pool; - sogo_context *cContext; - MAPIStoreContext *context; - int rc; - - DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); - - pool = [NSAutoreleasePool new]; - - cContext = private_data; - context = cContext->objcContext; - [context setupRequest]; - - rc = [context getFoldersList: folders_list withFMID: fmid]; - - [context tearDownRequest]; - [pool release]; - - return rc; -} - static int sogo_op_set_restrictions (void *private_data, uint64_t fid, uint8_t type, struct mapi_SRestriction *res, uint8_t *tableStatus) @@ -1238,7 +1212,6 @@ int mapistore_init_backend(void) backend.op_readdir_count = sogo_op_readdir_count; backend.op_get_table_property = sogo_op_get_table_property; backend.op_get_available_table_properties = sogo_op_get_available_table_properties; - backend.op_get_folders_list = sogo_op_get_folders_list; backend.op_set_restrictions = sogo_op_set_restrictions; backend.op_set_sort_order = sogo_op_set_sort_order; backend.op_openmessage = sogo_op_openmessage;