merge of '3f570612955fe5748f947cb46b0d25c731f1bffb'

and 'a3f1c656d74d4c83ed4a4c27370063c474942f29'

Monotone-Parent: 3f570612955fe5748f947cb46b0d25c731f1bffb
Monotone-Parent: a3f1c656d74d4c83ed4a4c27370063c474942f29
Monotone-Revision: ce7093281da83495afea3f495c1f92445cb9898e

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2011-07-05T20:25:13
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2011-07-05 20:25:13 +00:00
4 changed files with 10 additions and 91 deletions

View File

@@ -28,6 +28,14 @@
We now update the request's content in case we got participants
with status change (for resources, for example)
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.
2011-06-29 Ludovic Marcotte <lmarcotte@inverse.ca>
* Added get/set/unset capabilities to sogo-tool to set

View File

@@ -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

View File

@@ -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
@@ -1373,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: &currentURL];
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: &currentURL];
}
}
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
@@ -1466,7 +1406,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,

View File

@@ -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;