Monotone-Parent: 33c27aebfdbf4c4a04a550aef20cd2049b1c4575

Monotone-Revision: fffc8593a1392a49172e584c88de206cd6d7081b

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-12-13T17:06:22
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2010-12-13 17:06:22 +00:00
parent d8696daa64
commit ad416ef1e0
8 changed files with 210 additions and 21 deletions
+48 -3
View File
@@ -26,6 +26,8 @@
#import <NGExtensions/NSObject+Logs.h>
#import <EOControl/EOQualifier.h>
#import <NGCards/iCalEvent.h>
#import <Appointments/SOGoAppointmentObject.h>
@@ -51,7 +53,7 @@
+ (void) registerFixedMappings: (MAPIStoreMapping *) mapping
{
[mapping registerURL: @"sogo://openchange:openchange@calendar/personal"
[mapping registerURL: @"sogo://openchange:openchange@calendar/personal/"
withID: 0x190001];
}
@@ -71,8 +73,29 @@
}
- (NSArray *) getFolderMessageKeys: (SOGoFolder *) folder
matchingQualifier: (EOQualifier *) qualifier
{
return [(SOGoGCSFolder *) folder componentKeysWithType: @"vevent"];
EOQualifier *componentQualifier, *calendarQualifier;
componentQualifier
= [[EOKeyValueQualifier alloc] initWithKey: @"c_component"
operatorSelector: EOQualifierOperatorEqual
value: @"vevent"];
[componentQualifier autorelease];
if (qualifier)
{
calendarQualifier = [[EOAndQualifier alloc]
initWithQualifiers:
componentQualifier,
qualifier,
nil];
[calendarQualifier autorelease];
}
else
calendarQualifier = componentQualifier;
return [super getFolderMessageKeys: folder
matchingQualifier: calendarQualifier];
}
- (enum MAPISTATUS) getMessageTableChildproperty: (void **) data
@@ -203,6 +226,28 @@
// return rc;
// }
- (MAPIRestrictionState) evaluatePropertyRestriction: (struct mapi_SPropertyRestriction *) res
intoQualifier: (EOQualifier **) qualifier
{
MAPIRestrictionState rc;
id value;
value = NSObjectFromMAPISPropValue (&res->lpProp);
switch (res->ulPropTag)
{
case PR_MESSAGE_CLASS_UNICODE:
if ([value isEqualToString: @"IPM.Appointment"])
rc = MAPIRestrictionStateAlwaysTrue;
else
rc = MAPIRestrictionStateAlwaysFalse;
break;
default:
rc = [super evaluatePropertyRestriction: res intoQualifier: qualifier];
}
return rc;
}
- (NSString *) backendIdentifierForProperty: (enum MAPITAGS) property
{
static NSMutableDictionary *knownProperties = nil;
@@ -212,7 +257,7 @@
knownProperties = [NSMutableDictionary new];
}
return [knownProperties objectForKey: MAPIPropertyNumber (property)];
return [knownProperties objectForKey: MAPIPropertyKey (property)];
}
@end