mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-29 18:12:44 +00:00
Monotone-Parent: 173c16ed57e319da55ef0f43152bfbba829d1119
Monotone-Revision: ea1c783b905b07e028051a8a9d8f7bf4c894b0f2 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-05-31T03:39:36 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#import <NGExtensions/NSObject+Logs.h>
|
||||
#import <SOGo/SOGoFolder.h>
|
||||
|
||||
#import "MAPIStoreActiveTables.h"
|
||||
#import "MAPIStoreContext.h"
|
||||
#import "MAPIStoreFAIMessage.h"
|
||||
#import "MAPIStoreFAIMessageTable.h"
|
||||
@@ -80,9 +81,6 @@ Class NSExceptionK, MAPIStoreMessageTableK, MAPIStoreFAIMessageTableK, MAPIStore
|
||||
folderURL = nil;
|
||||
context = nil;
|
||||
|
||||
activeMessageTables = [NSMutableArray new];
|
||||
activeFAIMessageTables = [NSMutableArray new];
|
||||
activeFolderTables = [NSMutableArray new];
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -110,9 +108,6 @@ Class NSExceptionK, MAPIStoreMessageTableK, MAPIStoreFAIMessageTableK, MAPIStore
|
||||
[faiMessageKeys release];
|
||||
[folderKeys release];
|
||||
[faiFolder release];
|
||||
[activeMessageTables release];
|
||||
[activeFAIMessageTables release];
|
||||
[activeFolderTables release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
@@ -165,59 +160,36 @@ Class NSExceptionK, MAPIStoreMessageTableK, MAPIStoreFAIMessageTableK, MAPIStore
|
||||
|
||||
- (NSArray *) activeMessageTables
|
||||
{
|
||||
return activeMessageTables;
|
||||
return [[MAPIStoreActiveTables activeTables]
|
||||
activeTablesForFMID: [self objectId]
|
||||
andType: MAPISTORE_MESSAGE_TABLE];
|
||||
}
|
||||
|
||||
- (NSArray *) activeFAIMessageTables
|
||||
{
|
||||
return activeFAIMessageTables;
|
||||
return [[MAPIStoreActiveTables activeTables]
|
||||
activeTablesForFMID: [self objectId]
|
||||
andType: MAPISTORE_FAI_TABLE];
|
||||
}
|
||||
|
||||
- (NSArray *) activeFolderTables
|
||||
{
|
||||
return activeFolderTables;
|
||||
}
|
||||
|
||||
- (NSMutableArray *) _arrayForActiveTable: (MAPIStoreTable *) activeTable
|
||||
{
|
||||
NSMutableArray *tablesArray;
|
||||
|
||||
if ([activeTable isKindOfClass: MAPIStoreFAIMessageTableK])
|
||||
tablesArray = activeMessageTables;
|
||||
else if ([activeTable isKindOfClass: MAPIStoreMessageTableK])
|
||||
tablesArray = activeMessageTables;
|
||||
else if ([activeTable isKindOfClass: MAPIStoreFolderTableK])
|
||||
tablesArray = activeMessageTables;
|
||||
else
|
||||
tablesArray = nil;
|
||||
|
||||
return tablesArray;
|
||||
}
|
||||
|
||||
- (void) addActiveTable: (MAPIStoreTable *) activeTable
|
||||
{
|
||||
[[self _arrayForActiveTable: activeTable] addObject: activeTable];
|
||||
}
|
||||
|
||||
- (void) removeActiveTable: (MAPIStoreTable *) activeTable
|
||||
{
|
||||
[[self _arrayForActiveTable: activeTable] removeObject: activeTable];
|
||||
}
|
||||
|
||||
- (void) _cleanupTableCaches: (NSArray *) activeTables
|
||||
- (void) _cleanupTableCaches: (uint8_t) tableType
|
||||
{
|
||||
NSArray *tables;
|
||||
NSUInteger count, max;
|
||||
|
||||
max = [activeTables count];
|
||||
tables = [[MAPIStoreActiveTables activeTables]
|
||||
activeTablesForFMID: [self objectId]
|
||||
andType: tableType];
|
||||
max = [tables count];
|
||||
for (count = 0; count < max; count++)
|
||||
[[activeTables objectAtIndex: count] cleanupCaches];
|
||||
[[tables objectAtIndex: count] cleanupCaches];
|
||||
}
|
||||
|
||||
- (void) cleanupCaches
|
||||
{
|
||||
[self _cleanupTableCaches: activeMessageTables];
|
||||
[self _cleanupTableCaches: activeFAIMessageTables];
|
||||
[self _cleanupTableCaches: activeFolderTables];
|
||||
[self _cleanupTableCaches: MAPISTORE_MESSAGE_TABLE];
|
||||
[self _cleanupTableCaches: MAPISTORE_FAI_TABLE];
|
||||
[self _cleanupTableCaches: MAPISTORE_FOLDER_TABLE];
|
||||
[faiMessageKeys release];
|
||||
faiMessageKeys = nil;
|
||||
[messageKeys release];
|
||||
|
||||
Reference in New Issue
Block a user