Monotone-Parent: 98084e25c04125bc23a53907661020b8ac004a5d

Monotone-Revision: da065094ec85a862e2b55a9d2a9344f023a1495d

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-07-27T22:04:49
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2011-07-27 22:04:49 +00:00
parent 05ed3cce9e
commit d875d5ed7e
3 changed files with 56 additions and 7 deletions

View File

@@ -20,17 +20,12 @@
* Boston, MA 02111-1307, USA.
*/
#import <Foundation/NSArray.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSString.h>
#import <NGExtensions/NSObject+Logs.h>
#import <EOControl/EOQualifier.h>
#import "EOQualifier+MAPIFS.h"
#import "MAPIStoreTypes.h"
#import "MAPIStoreFSMessage.h"
#import "NSObject+MAPIStore.h"
#import "SOGoMAPIFSFolder.h"
#import "SOGoMAPIFSMessage.h"
#import "MAPIStoreFSMessageTable.h"
@@ -56,4 +51,31 @@ static Class MAPIStoreFSMessageK = Nil;
return [NSString stringWithFormat: @"%@", MAPIPropertyKey (property)];
}
- (MAPIRestrictionState) evaluatePropertyRestriction: (struct mapi_SPropertyRestriction *) res
intoQualifier: (EOQualifier **) qualifier
{
MAPIRestrictionState rc;
id value;
NSNumber *version;
uint64_t cVersion;
if ((uint32_t) res->ulPropTag == PR_CHANGE_NUM)
{
value = NSObjectFromMAPISPropValue (&res->lpProp);
cVersion = exchange_globcnt ([value unsignedLongLongValue] >> 16);
version = [NSNumber numberWithUnsignedLongLong: cVersion];
[self logWithFormat: @"change number from oxcfxics: %.16lx", [value unsignedLongLongValue]];
[self logWithFormat: @" version: %.16lx", cVersion];
*qualifier = [[EOKeyValueQualifier alloc] initWithKey: @"version"
operatorSelector: EOQualifierOperatorGreaterThanOrEqualTo
value: version];
[*qualifier autorelease];
rc = MAPIRestrictionStateNeedsEval;
}
else
rc = [super evaluatePropertyRestriction: res intoQualifier: qualifier];
return rc;
}
@end