0b92dc6f3e0b4d086570a22462cad371ca0589e5
[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     
31     NSDate *lastModifiedDate;
32
33     NSDictionary *MIMEToDescription;
34     NSDictionary *MIMEToExtensions;
35     NSMutableDictionary *extensionToMIME;
36     
37     BP_CreatePluginMIMETypesPreferencesFuncPtr BP_CreatePluginMIMETypesPreferences;
38 }
39
40 + (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath;
41 - (id)initWithPath:(NSString *)pluginPath;
42
43 - (BOOL)getPluginInfoFromPLists;
44
45 - (BOOL)load;
46 - (void)unload;
47 - (BOOL)isLoaded;
48
49 - (NSString *)name;
50 - (NSString *)path;
51 - (NSString *)filename;
52 - (NSString *)pluginDescription;
53 - (NSBundle *)bundle;
54 - (NSDate *)lastModifiedDate;
55
56 - (NSEnumerator *)extensionEnumerator;
57 - (NSEnumerator *)MIMETypeEnumerator;
58 - (NSString *)descriptionForMIMEType:(NSString *)MIMEType;
59 - (NSString *)MIMETypeForExtension:(NSString *)extension;
60 - (NSArray *)extensionsForMIMEType:(NSString *)MIMEType;
61
62 - (void)setName:(NSString *)theName;
63 - (void)setPath:(NSString *)thePath;
64 - (void)setPluginDescription:(NSString *)description;
65 - (void)setMIMEToDescriptionDictionary:(NSDictionary *)MIMEToDescriptionDictionary;
66 - (void)setMIMEToExtensionsDictionary:(NSDictionary *)MIMEToExtensionsDictionary;
67
68 - (BOOL)isQuickTimePlugIn;
69 - (BOOL)isJavaPlugIn;
70
71 @end