-
Notifications
You must be signed in to change notification settings - Fork 0
/
GrowlPlugin.h
105 lines (88 loc) · 2.7 KB
/
GrowlPlugin.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//
// GrowlPlugin.h
// Growl
//
// Created by Mac-arena the Bored Zo on 2005-06-01.
// Copyright 2005-2006 The Growl Project. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@class NSPreferencePane;
/*! @class GrowlPlugin
* @abstract The base plug-in class.
* @discussion All Growl plug-in instances are a kind of this class, including
* display plug-ins, which are kinds of <code>GrowlDisplayPlugin</code>.
*/
@interface GrowlPlugin : NSObject {
NSString *pluginName, *pluginAuthor, *pluginVersion, *pluginDesc;
NSBundle *pluginBundle;
NSString *pluginPathname;
NSPreferencePane *preferencePane;
NSString *prefDomain;
}
/*!
* @method initWithName:author:version:pathname:
* @abstract Designated initializer.
* @param name The name of the plugin.
* @param author The author of the plugin.
* @param version The version of the plugin.
* @param pathname The pathname of the plugin.
* @result An initialized GrowlPlugin object.
*/
- (id) initWithName:(NSString *)name author:(NSString *)author version:(NSString *)version pathname:(NSString *)pathname;
/*!
* @method initWithBundle:
* @abstract Initializer for plug-ins in bundles. The name, author, version, and pathname will be obtained from the bundle.
* @result An initialized GrowlPlugin object.
*/
- (id) initWithBundle:(NSBundle *)bundle;
/*!
* @method name
* @abstract Returns the name of the receiver.
*/
- (NSString *) name;
/*!
* @method author
* @abstract Returns the author of the receiver.
*/
- (NSString *) author;
/*!
* @method pluginDescription
* @abstract Returns the description of the receiver.
*/
- (NSString *) pluginDescription;
/*!
* @method version
* @abstract Returns the version of the receiver.
*/
- (NSString *) version;
/*!
* @method bundle
* @abstract Returns the bundle of the receiver.
*/
- (NSBundle *) bundle;
/*!
* @method pathname
* @abstract Returns the pathname of the receiver.
*/
- (NSString *) pathname;
/*!
* @method pathname
* @abstract Returns the string used to access the preference domain of the receiver.
*/
- (NSString *) prefDomain;
/*! @method preferencePane
* @abstract Return an <code>NSPreferencePane</code> instance that manages
* the plugin's preferences.
* @discussion Your plug-in should put the controls for its preferences in
* this preference pane.
*
* Currently, the size of the preference pane's view should be 354 pixels by
* 289 pixels, but you should set the springs of the view and its subviews
* under the assumption that it can be resized horizontally and vertically to
* any size.
*
* The default implementation of this method returns <code>nil</code>.
* @result The preference pane. Can be <code>nil</code>.
*/
- (NSPreferencePane *) preferencePane;
@end