Reviewed by Vicki.
[WebKit-https.git] / WebKit / Plugins.subproj / WebBasePluginPackage.h
1 //
2 //  WebBasePluginPackage.h
3 //  WebKit
4 //
5 //  Created by Chris Blumenberg on Tue Oct 22 2002.
6 //  Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
7 //
8
9 #import <WebCore/WebCoreViewFactory.h>
10 #import <WebKit/npfunctions.h>
11
12 #define WebPluginExtensionsKey          @"WebPluginExtensions"
13 #define WebPluginDescriptionKey         @"WebPluginDescription"
14 #define WebPluginLocalizationNameKey    @"WebPluginLocalizationName"
15 #define WebPluginMIMETypesFilenameKey   @"WebPluginMIMETypesFilename"
16 #define WebPluginMIMETypesKey           @"WebPluginMIMETypes"
17 #define WebPluginNameKey                @"WebPluginName"
18 #define WebPluginTypeDescriptionKey     @"WebPluginTypeDescription"
19 #define WebPluginTypeEnabledKey         @"WebPluginTypeEnabled"
20
21 @interface WebBasePluginPackage : NSObject <WebCorePluginInfo>
22 {
23     BOOL isLoaded;
24     
25     NSString *name;
26     NSString *path;
27     NSString *pluginDescription;
28
29     NSBundle *bundle;
30         CFBundleRef cfBundle;
31     
32     NSDate *lastModifiedDate;
33
34     NSDictionary *MIMEToDescription;
35     NSDictionary *MIMEToExtensions;
36     NSMutableDictionary *extensionToMIME;
37     
38     BP_CreatePluginMIMETypesPreferencesFuncPtr BP_CreatePluginMIMETypesPreferences;
39 }
40
41 + (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath;
42 - (id)initWithPath:(NSString *)pluginPath;
43
44 - (BOOL)getPluginInfoFromPLists;
45
46 - (BOOL)load;
47 - (void)unload;
48 - (BOOL)isLoaded;
49
50 - (NSString *)name;
51 - (NSString *)path;
52 - (NSString *)filename;
53 - (NSString *)pluginDescription;
54 - (NSBundle *)bundle;
55 - (NSDate *)lastModifiedDate;
56
57 - (NSEnumerator *)extensionEnumerator;
58 - (NSEnumerator *)MIMETypeEnumerator;
59 - (NSString *)descriptionForMIMEType:(NSString *)MIMEType;
60 - (NSString *)MIMETypeForExtension:(NSString *)extension;
61 - (NSArray *)extensionsForMIMEType:(NSString *)MIMEType;
62
63 - (void)setName:(NSString *)theName;
64 - (void)setPath:(NSString *)thePath;
65 - (void)setPluginDescription:(NSString *)description;
66 - (void)setMIMEToDescriptionDictionary:(NSDictionary *)MIMEToDescriptionDictionary;
67 - (void)setMIMEToExtensionsDictionary:(NSDictionary *)MIMEToExtensionsDictionary;
68
69 - (BOOL)isQuickTimePlugIn;
70 - (BOOL)isJavaPlugIn;
71
72 @end