From 79c745e822c97c43733eef480941a5199241dbbf Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 27 Jul 2011 21:55:49 +0000 Subject: [PATCH] Monotone-Parent: ecc7993695f6bf490b49a22b237471f7d599bc76 Monotone-Revision: 7016b89d1c4abd33e846818e244ff6fabde5521e Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-07-27T21:55:49 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ OpenChange/MAPIStoreContext.h | 1 + OpenChange/MAPIStoreContext.m | 11 +++++++++++ 3 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index c4edd2f97..e09a8568c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-07-27 Wolfgang Sourdeau + * OpenChange/MAPIStoreContext.m (-getNewChangeNumber): new + utility method that returns a change number from the mapistore db + via the openchangedb API. + * OpenChange/SOGoMAPIFSMessage.m (-save): serialize the properties dictionary in binary plist format to avoid GNUstep bugs where high unsigned long long values are not parsed properly. diff --git a/OpenChange/MAPIStoreContext.h b/OpenChange/MAPIStoreContext.h index e9bdfba26..194223335 100644 --- a/OpenChange/MAPIStoreContext.h +++ b/OpenChange/MAPIStoreContext.h @@ -99,6 +99,7 @@ - (uint64_t) idForObjectWithKey: (NSString *) key inFolderURL: (NSString *) folderURL; +- (uint64_t) getNewChangeNumber; /* subclass methods */ + (NSString *) MAPIModuleName; diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index 8110fcd12..2b48ba3d7 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -407,6 +407,17 @@ _prepareContextClass (Class contextClass, return mappingId; } +- (uint64_t) getNewChangeNumber +{ + uint64_t newVersionNumber; + + if (openchangedb_get_new_changeNumber (connInfo->oc_ctx, &newVersionNumber) + != MAPISTORE_SUCCESS) + abort (); + + return newVersionNumber; +} + /* subclasses */ + (NSString *) MAPIModuleName