Monotone-Parent: bde45b38158c1c9e5e5c05c00ef16e0ceb81c789

Monotone-Revision: 6cff836762bb35cb6c26ae5eb215e6ff131d480d

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-12-03T22:31:56
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2010-12-03 22:31:56 +00:00
parent b00c13ccde
commit ea8e2574a6
8 changed files with 995 additions and 186 deletions
+42
View File
@@ -37,9 +37,12 @@
@class NSArray;
@class NSFileHandle;
@class NSMutableArray;
@class NSMutableDictionary;
@class NSString;
@class EOQualifier;
@class WOContext;
@class SOGoFolder;
@@ -48,6 +51,13 @@
@class MAPIStoreAuthenticator;
@class MAPIStoreMapping;
typedef enum {
MAPIRestrictionStateAlwaysFalse = NO,
MAPIRestrictionStateAlwaysTrue = YES,
MAPIRestrictionStateNeedsEval, /* needs passing of qualifier to underlying
database */
} MAPIRestrictionState;
@interface MAPIStoreContext : NSObject
{
struct mapistore_context *memCtx;
@@ -66,6 +76,9 @@
NSMutableDictionary *messageCache;
NSMutableDictionary *subfolderCache;
id moduleFolder;
MAPIRestrictionState restrictionState;
EOQualifier *restriction;
}
+ (id) contextFromURI: (const char *) newUri
@@ -93,6 +106,11 @@
byName: (const char *) foldername
inParentFID: (uint64_t) parent_fid;
- (int) setRestrictions: (struct mapi_SRestriction *) res
withFMID: (uint64_t) fmid
andTableType: (uint8_t) type
getTableStatus: (uint8_t *) tableStatus;
- (enum MAPISTATUS) getTableProperty: (void **) data
withTag: (enum MAPITAGS) proptag
atPosition: (uint32_t) pos
@@ -146,6 +164,18 @@
asProperty: (enum MAPITAGS) property
forURL: (NSString *) url;
/* restrictions */
- (MAPIRestrictionState) evaluateRestriction: (struct mapi_SRestriction *) res
intoQualifier: (EOQualifier **) qualifier;
- (MAPIRestrictionState) evaluateNotRestriction: (struct mapi_SNotRestriction *) res
intoQualifier: (EOQualifier **) qualifierPtr;
- (MAPIRestrictionState) evaluateAndRestriction: (struct mapi_SAndRestriction *) res
intoQualifier: (EOQualifier **) qualifierPtr;
- (MAPIRestrictionState) evaluateOrRestriction: (struct mapi_SOrRestriction *) res
intoQualifier: (EOQualifier **) qualifierPtr;
/* subclass methods */
+ (NSString *) MAPIModuleName;
+ (void) registerFixedMappings: (MAPIStoreMapping *) storeMapping;
@@ -180,6 +210,18 @@
inRow: (struct SRow *) aRow
atURL: (NSString *) childURL;
- (NSString *) backendIdentifierForProperty: (enum MAPITAGS) property;
/* restrictions */
- (MAPIRestrictionState) evaluateContentRestriction: (struct mapi_SContentRestriction *) res
intoQualifier: (EOQualifier **) qualifier;
- (MAPIRestrictionState) evaluatePropertyRestriction: (struct mapi_SPropertyRestriction *) res
intoQualifier: (EOQualifier **) qualifier;
- (MAPIRestrictionState) evaluateBitmaskRestriction: (struct mapi_SBitmaskRestriction *) res
intoQualifier: (EOQualifier **) qualifier;
- (MAPIRestrictionState) evaluateExistRestriction: (struct mapi_SExistRestriction *) res
intoQualifier: (EOQualifier **) qualifier;
@end
#endif /* MAPISTORECONTEXT_H */