<commit_before>//
//  GrowlDisplayProtocol.h
//  Growl
//

/*!
	@header
	@abstract    Defines the protocols used by plugins
	@discussion  This header defines the 3 protocols used by plugins.
	
	The base protocol &lt;GrowlPlugin&gt; isn't intended to be used by anything else, it's
	basically an abstract superprotocol for the other protocols.
	
	The protocol &lt;GrowlDisplayPlugin&gt; is meant for plugins that provide alternate displays.
	
	The protocol &lt;GrowlFunctionalPlugin&gt; is meant for plugins that provide additional functionality.
 */

@class NSPreferencePane;

/*!
	@protocol    GrowlPlugin
	@abstract    The base plugin protocol
	@discussion  A protocol defining all methods supported by all Growl plugins.
 */
@protocol GrowlPlugin
/*! A method sent to tell the plugin to initialize itself */
- (void) loadPlugin;
/*! Returns the name of the author of the plugin
	@result A string */
- (NSString *) author;
/*! Returns the name of the plugin
	@result A string */
- (NSString *) name;
/*! Returns the description of the plugin
	@result A string */
- (NSString *) userDescription;
/*! Returns the version of the plugin
	@result A string */
- (NSString *) version;
/*! Returns a dictionary containing author, name, desc, and version for the plugin.
	
	The corresponding keys are: Author, Name, Description, Version */
- (NSDictionary *) pluginInfo;
/*! A method sent to tell the plugin to clean itself up */
- (void) unloadPlugin;
/*! Returns an NSPreferencePane instance that manages the plugin's preferences.
	
	For reference, the size of the view should be 354 x 289.
	That's because that's all the available space right now.
	We have to think of something if there are more options than fit in that place.
 */
- (NSPreferencePane *) preferencePane;
@end

/*!
	@protocol    GrowlDisplayPlugin
	@abstract    The display plugin protocol
	@discussion  A protocol defining all methods supported by Growl display plugins.
 */
@protocol GrowlDisplayPlugin <GrowlPlugin>
/*! Tells the display plugin to display a notification with the given information
	@param noteDict The userInfo dictionary that describes the notification */
- (void)  displayNotificationWithInfo:(NSDictionary *) noteDict;
@end

/*!
	@protocol    GrowlFunctionalPlugin
	@abstract    The functional plugin protocol
	@discussion  A protocol defining all methods supported by Growl functionality plugins.
	
	Currently has no new methods on top of GrowlDisplayPlugin.
 */
@protocol GrowlFunctionalPlugin <GrowlPlugin>
//empty for now
@end<commit_msg>The GrowlPlugin protocol now inherits from the NSObject protocol. Also, whitespace++.<commit_after>//
//  GrowlDisplayProtocol.h
//  Growl
//

/*!
	@header
	@abstract    Defines the protocols used by plugins
	@discussion  This header defines the 3 protocols used by plugins.
	
	The base protocol &lt;GrowlPlugin&gt; isn't intended to be used by anything else, it's
	basically an abstract superprotocol for the other protocols.
	
	The protocol &lt;GrowlDisplayPlugin&gt; is meant for plugins that provide alternate displays.
	
	The protocol &lt;GrowlFunctionalPlugin&gt; is meant for plugins that provide additional functionality.
 */

@class NSPreferencePane;

/*!
	@protocol    GrowlPlugin
	@abstract    The base plugin protocol
	@discussion  A protocol defining all methods supported by all Growl plugins.
 */
@protocol GrowlPlugin <NSObject>

/*! A method sent to tell the plugin to initialize itself */
- (void) loadPlugin;

/*! Returns the name of the author of the plugin
	@result A string */
- (NSString *) author;

/*! Returns the name of the plugin
	@result A string */
- (NSString *) name;

/*! Returns the description of the plugin
	@result A string */
- (NSString *) userDescription;

/*! Returns the version of the plugin
	@result A string */
- (NSString *) version;

/*! Returns a dictionary containing author, name, desc, and version for the plugin.
	The corresponding keys are: Author, Name, Description, Version */
- (NSDictionary *) pluginInfo;

/*! A method sent to tell the plugin to clean itself up */
- (void) unloadPlugin;

/*! Returns an NSPreferencePane instance that manages the plugin's preferences.
	
	For reference, the size of the view should be 354 x 289.
	That's because that's all the available space right now.
	We have to think of something if there are more options than fit in that place.
 */
- (NSPreferencePane *) preferencePane;

@end

/*!
	@protocol    GrowlDisplayPlugin
	@abstract    The display plugin protocol
	@discussion  A protocol defining all methods supported by Growl display plugins.
 */
@protocol GrowlDisplayPlugin <GrowlPlugin>

/*! Tells the display plugin to display a notification with the given information
	@param noteDict The userInfo dictionary that describes the notification */
- (void)  displayNotificationWithInfo:(NSDictionary *) noteDict;

@end

/*!
	@protocol    GrowlFunctionalPlugin
	@abstract    The functional plugin protocol
	@discussion  A protocol defining all methods supported by Growl functionality plugins.
	
	Currently has no new methods on top of GrowlDisplayPlugin.
 */
@protocol GrowlFunctionalPlugin <GrowlPlugin>
//empty for now
@end
{'fraction_non_alphanumeric': 0.07634032634032634, 'fraction_numerical': 0.0027195027195027195, 'mean_word_length': 4.1541541541541545, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6162821', 'n_tokens_mistral': 1400, 'n_tokens_neox': 1335, 'n_words': 628}