// // MPT_PluginController.h // AUCoderDemo // // Created by Andrew Salamon on 9/25/06. // Copyright (c) 2006 Machine Perception Laboratory, // University of California San Diego. All rights reserved. #import #import "MPT_PluginControllerBase.h" #import @class MPT_AutoTileView; @class MPT_Demo; @interface MPT_PluginController : MPT_PluginControllerBase { MPT_AutoTileView *tileView; MPT_Demo *licensing; NSMenu *pluginMenu; BOOL suppressChangeNotification; } + (MPT_PluginController *)defaultController; + (NSString *)pluginStateChangedNotification; + (MPT_PluginControllerBase *)copyForProcessing; ///< CERT processors running on separate threads need separate copies of the plugins. - (void)loadPlugins; - (BOOL)addPluginFromPath:(NSString *)path; - (BOOL)removePlugin:(NSString *)pluginID; - (void)initPlugins; - (void)setPluginMenu:(NSMenu *)_menu; - (IBAction)enableAllPlugins:(id)sender; - (IBAction)disableAllPlugins:(id)sender; - (IBAction)toggleOnePlugin:(id)sender; - (void)enablePluginsWithIDs:(NSArray *)ids; - (BOOL)setEnable:(BOOL)enable forPlugin:(NSString *)pluginID; - (void)resetViews; - (MPT_AutoTileView *)tileView; - (void)setTileView:(MPT_AutoTileView *)value; - (BOOL)isEvaluation; ///< Plugins can use this method to determine what type of license is being used. For example, plugins shouldn't allow output to be saved under an evaluation license. - (BOOL)isLicensed; ///< Plugins can use this method to determine what type of license is being used. - (BOOL)isInternal; ///< Plugins can use this method to determine what type of license is being used. - (void)applicationWillTerminate:(NSNotification *)notification; @end