123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //
- // MOBFPluginManager.h
- // MOBFoundation
- //
- // Created by fenghj on 15/6/2.
- // Copyright (c) 2015年 MOB. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "IMOBFPlugin.h"
- /**
- * 插件创建事件处理
- *
- * @return 插件对象
- */
- typedef id<IMOBFPlugin>(^MOBFPluginConstructHandler) ();
- /**
- * 插件管理器
- */
- @interface MOBFPluginManager : NSObject
- /**
- * 获取默认的插件管理器
- *
- * @return 插件管理器
- */
- + (instancetype) defaultManager;
- /**
- * 注册插件
- *
- * @param pluginConstructHandler 插件构造事件处理器
- * @param key 插件标识
- *
- * @return YES 表示注册成功,NO 表示注册失败,有可能已存在此插件
- */
- - (BOOL)registerPlugin:(MOBFPluginConstructHandler)pluginConstructHandler forKey:(NSString *)key;
- /**
- * 判断是否已经注册插件
- *
- * @param key 插件标识
- *
- * @return YES 表示已经注册, NO 表示尚未注册
- */
- - (BOOL)isRegisterPluginForKey:(NSString *)key;
- /**
- * 获取插件对象
- *
- * @param key 插件标识
- *
- * @return 插件对象,nil 表示该标志的插件不存在
- */
- - (id<IMOBFPlugin>)pluginForKey:(NSString *)key;
- /**
- * 卸载插件
- *
- * @param key 插件标识
- */
- - (void)unloadPluginForKey:(NSString *)key;
- @end
|