00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __MK__SharedSynthInfo_H___
00016 #define __MK__SharedSynthInfo_H___
00017
00018 #import <Foundation/NSObject.h>
00019 #import <Foundation/NSDictionary.h>
00020
00021 @interface _SharedSynthInfo : NSObject
00022 {
00023 id synthObject;
00024 NSMutableArray *theList;
00025 id theKeyObject;
00026 MKOrchMemSegment segment;
00027 int length;
00028 int referenceCount;
00029 MKOrchSharedType type;
00030 }
00031
00032 @end
00033
00034
00035 extern BOOL _MKCollectSharedDataGarbage(id orch, NSHashTable *garbageTable);
00036 extern NSHashTable *_MKGetSharedSynthGarbage(MKOrchestra *self);
00037 extern BOOL _MKInstallSharedObject(NSMutableDictionary* _sharedSet, id aSynthObj, id aKeyObj,
00038 MKOrchMemSegment whichSegment, int howLong,
00039 MKOrchSharedType type);
00040 extern id _MKFindSharedSynthObj(NSMutableDictionary* sharedSet, NSHashTable *garbageTable, id aKeyObj,
00041 MKOrchMemSegment whichSegment, int howLong, MKOrchSharedType type);
00042 extern void _MKAddSharedSynthClaim(_SharedSynthInfo *aKey);
00043 extern id _MKFreeSharedSet(NSMutableDictionary *sharedSet, NSHashTable **garbageTable);
00044 extern NSMutableDictionary* _MKNewSharedSet(NSHashTable **garbageTable);
00045 extern BOOL _MKReleaseSharedSynthClaim(_SharedSynthInfo *aKey, BOOL lazy);
00046 extern int _MKGetSharedSynthReferenceCount(_SharedSynthInfo *sharedSynthKey);
00047
00048 #endif