Fixed: <rdar://problem/3890944> disable icon database for Dashboard
[WebKit-https.git] / WebKit / Misc.subproj / WebIconDatabasePrivate.h
1 /*
2  *  WebIconDatabasePrivate.h
3  *  
4  *
5  *  Created by Chris Blumenberg on Tue Aug 27 2002.
6  *  Copyright (c) 2002 Apple Computer Inc. All rights reserved.
7  *
8  */
9
10 #import <Cocoa/Cocoa.h>
11 #import <WebKit/WebIconDatabase.h>
12
13 @class WebFileDatabase;
14
15 @interface WebIconDatabasePrivate : NSObject {
16
17 @public
18     WebFileDatabase *fileDatabase;
19
20     NSMutableDictionary *iconURLToIcons;
21     CFMutableDictionaryRef iconURLToRetainCount;
22     NSMutableDictionary *iconURLToURLs;
23     NSMutableDictionary *URLToIconURL;    
24     CFMutableDictionaryRef futureURLToRetainCount;
25     
26     NSMutableSet *iconsOnDiskWithURLs;
27     NSMutableSet *iconsToEraseWithURLs;
28     NSMutableSet *iconsToSaveWithURLs;
29     NSMutableSet *iconURLsWithNoIcons;
30     NSMutableSet *originalIconsOnDiskWithURLs;
31     
32     int cleanupCount;
33
34     BOOL didCleanup;
35     BOOL waitingToCleanup;
36
37     NSMutableDictionary *htmlIcons;
38     NSMutableDictionary *defaultIcons;
39 }
40
41 @end
42
43 @interface WebIconDatabase (WebPrivate)
44
45 - (BOOL)_isEnabled;
46
47 // Called by WebIconLoader after loading an icon.
48 - (void)_setIcon:(NSImage *)icon forIconURL:(NSString *)iconURL;
49 - (void)_setHaveNoIconForIconURL:(NSString *)iconURL;
50
51 // Called by WebDataSource to bind a web site URL to a icon URL and icon image.
52 - (void)_setIconURL:(NSString *)iconURL forURL:(NSString *)URL;
53
54 - (BOOL)_hasIconForIconURL:(NSString *)iconURL;
55
56 @end