mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-21 19:35:38 +00:00
Monotone-Parent: 75fbbbf41d95a388a16c3b3e362766a543bffb0f
Monotone-Revision: bc5478c6da74ce0487be5bc0045ffb55f4ff5297 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-01-08T04:43:48 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
2011-01-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* OpenChange/MAPIStoreContext.m (_typeLessTag:): new method
|
||||
designed to return a known value type for typeless tags that were
|
||||
requested via getprops. This abstract the missing type from the
|
||||
call to getChildProperty:...
|
||||
|
||||
* OpenChange/MAPIStoreMessageTable.m
|
||||
(-getChildProperty:forKey:withTag:): added generic values for some
|
||||
standard props.
|
||||
|
||||
@@ -1002,6 +1002,22 @@ _prepareContextClass (struct mapistore_context *newMemCtx,
|
||||
save: NO];
|
||||
}
|
||||
|
||||
- (enum MAPITAGS) _typeLessTag: (enum MAPITAGS) tag
|
||||
{
|
||||
if (tag == 0x300b0000)
|
||||
tag = PR_SEARCH_KEY;
|
||||
else if (tag == 0x30070000)
|
||||
tag = PR_CREATION_TIME;
|
||||
else if (tag == 0x30080000)
|
||||
tag = PR_LAST_MODIFICATION_TIME;
|
||||
else if (tag == 0x0e080000)
|
||||
tag = PR_MESSAGE_SIZE;
|
||||
else
|
||||
[self warnWithFormat: @"unknown typeless tag: 0x%.8x", tag];
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
- (int) getProperties: (struct SPropTagArray *) sPropTagArray
|
||||
ofTableType: (uint8_t) tableType
|
||||
inRow: (struct SRow *) aRow
|
||||
@@ -1040,6 +1056,8 @@ _prepareContextClass (struct mapistore_context *newMemCtx,
|
||||
for (count = 0; count < sPropTagArray->cValues; count++)
|
||||
{
|
||||
tag = sPropTagArray->aulPropTag[count];
|
||||
if ((tag & 0x0000ffff) == 0)
|
||||
tag = [self _typeLessTag: tag];
|
||||
|
||||
propValue = NULL;
|
||||
propRc = [table getChildProperty: &propValue
|
||||
|
||||
Reference in New Issue
Block a user