Monotone-Parent: 03b2ef9088f0831bd7c90128bf63ead3ee3f82a8
Monotone-Revision: d7fa74829c523fd87dd6cb456ed8fb4b12564db0 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-06-30T19:10:28 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
bbc64ccc8c
commit
df61576105
|
@ -1,5 +1,8 @@
|
|||
2011-06-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* 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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue