getNewChangeNumbers: new wrapper for openchangedb_get_new_changeNumbers

This commit is contained in:
Wolfgang Sourdeau
2012-10-12 16:55:27 -04:00
parent a29c39c5d5
commit ce4084e528
2 changed files with 29 additions and 0 deletions
+28
View File
@@ -27,6 +27,7 @@
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGExtensions/NSObject+Logs.h>
#import <NGExtensions/NSObject+Values.h>
#import <SOGo/SOGoFolder.h>
#import <SOGo/SOGoUser.h>
@@ -558,6 +559,33 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri)
return newVersionNumber;
}
- (NSArray *) getNewChangeNumbers: (NSUInteger) max
{
TALLOC_CTX *memCtx;
struct UI8Array_r *changeNumbers;
NSUInteger count;
NSMutableArray *newChangeNumbers;
NSString *newChangeNumber;
memCtx = talloc_zero(NULL, TALLOC_CTX);
if (openchangedb_get_new_changeNumbers (connInfo->oc_ctx,
memCtx, max, &changeNumbers)
!= MAPI_E_SUCCESS || changeNumbers->cValues != max)
abort ();
newChangeNumbers = [NSMutableArray arrayWithCapacity: max];
for (count = 0; count < max; count++)
{
newChangeNumber = [NSString stringWithUnsignedLongLong: changeNumbers->lpui8[count]];
[newChangeNumbers addObject: newChangeNumber];
}
talloc_free (memCtx);
return newChangeNumbers;
}
/* subclasses */
+ (NSString *) MAPIModuleName