forked from jessegrosjean/blocks
-
Notifications
You must be signed in to change notification settings - Fork 1
/
BExtensionRegistry.h
47 lines (36 loc) · 1.17 KB
/
BExtensionRegistry.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//
// BExtensionRegistry.h
// Blocks
//
// Created by Jesse Grosjean on 8/21/07.
// Copyright 2007 Blocks. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@class BPlugin;
@class BExtensionPoint;
/*
* The extension registry holds the master list of all discovered extension points and extensions.
*/
@interface BExtensionRegistry : NSObject {
NSMutableArray *plugins;
NSMutableArray *extensionPoints;
NSMutableArray *extensions;
NSMutableDictionary *pluginIDsToPlugins;
NSMutableDictionary *extensionPointIDsToExtensionPoints;
NSMutableDictionary *extensionPointIDsToExtensions;
NSMutableDictionary *extensionPointIDsToConfigurationElements;
BPlugin *mainBundlePlugin;
}
#pragma mark Class Methods
+ (id)sharedInstance;
#pragma mark Loading
- (void)loadMainExtension;
#pragma mark Querying
@property(readonly) NSArray *plugins;
- (BPlugin *)pluginFor:(NSString *)pluginID;
@property(readonly) NSArray *extensionPoints;
- (BExtensionPoint *)extensionPointFor:(NSString *)extensionPointID;
@property(readonly) NSArray *extensions;
- (NSArray *)extensionsFor:(NSString *)extensionPointID;
- (NSArray *)configurationElementsFor:(NSString *)extensionPointID;
@end