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