Monotone-Parent: 7bd1aabb4c8542dc219b7ddaff1bee6356e39dd2

Monotone-Revision: 031caf8f4d04f5492d5af29b0ff93447c66c5cbf

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-10-14T16:38:15
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2010-10-14 16:38:15 +00:00
parent 4be0ec7d12
commit 5600b7bc58
3 changed files with 35 additions and 8 deletions

View File

@ -20,6 +20,7 @@
(-setPropertiesWithMID:type:inRow:)
(-deleteMessageWithMID:withFlags:): return MAPISTORE_ERROR for
those unimplemented methods.
(-getMessageProperties:inRow:atURL:): new subclassable method.
2010-10-14 Francis Lachapelle <flachapelle@inverse.ca>

View File

@ -156,6 +156,10 @@ extern uint64_t *MAPILongLongValue (void *, uint64_t);
- (int) openMessage: (struct mapistore_message *) msg
atURL: (NSString *) childURL;
- (int) getMessageProperties: (struct SPropTagArray *) sPropTagArray
inRow: (struct SRow *) aRow
atURL: (NSString *) childURL;
@end
#endif /* MAPISTORECONTEXT_H */

View File

@ -945,21 +945,43 @@ static MAPIStoreMapping *mapping = nil;
return MAPISTORE_ERROR;
}
- (int) getProperties: (struct SPropTagArray *) SPropTagArray
- (int) getProperties: (struct SPropTagArray *) sPropTagArray
inRow: (struct SRow *) aRow
withMID: (uint64_t) fmid
type: (uint8_t) tableType
{
[self logWithFormat: @"METHOD '%s' (%d) -- tableType: %d, mid: %lld",
__FUNCTION__, __LINE__, tableType, fmid];
NSString *childURL;
int rc;
switch (tableType)
childURL = [mapping urlFromID: fmid];
if (childURL)
{
case MAPISTORE_FOLDER:
break;
case MAPISTORE_MESSAGE:
break;
switch (tableType)
{
case MAPISTORE_MESSAGE:
rc = [self getMessageProperties: sPropTagArray inRow: aRow
atURL: childURL];
break;
case MAPISTORE_FOLDER:
default:
rc = MAPISTORE_ERROR;
break;
}
}
else
{
[self errorWithFormat: @"No url found for FMID: %lld", fmid];
rc = MAPISTORE_ERR_NOT_FOUND;
}
return rc;
}
- (int) getMessageProperties: (struct SPropTagArray *) sPropTagArray
inRow: (struct SRow *) aRow
atURL: (NSString *) childURL
{
[self logWithFormat: @"METHOD '%s' (%d)", __FUNCTION__, __LINE__];
return MAPISTORE_ERROR;
}