酷店

ALPPluginManager.h 976B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // ALPPluginManager.h
  3. // ALPLinkPartnerSDK
  4. //
  5. // Created by czp on 16/9/26.
  6. // Copyright © 2016年 czp. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "ALPBasePlugin.h"
  10. @interface ALPPluginManager : NSObject
  11. + (nonnull instancetype)shareInstance;
  12. /**
  13. * 添加插件,同一类型的插件只能添加一次
  14. *
  15. * @param plugin 插件
  16. *
  17. * @return 添加插件是否成功
  18. */
  19. - (BOOL)addPlugin:(nonnull ALPBasePlugin *)plugin;
  20. /**
  21. * 根据插件类型移除插件
  22. *
  23. * @param key 插件类对应的key
  24. *
  25. * @return 是否移除插件成功
  26. */
  27. - (BOOL)removePluginWithKey:(nonnull NSString *)key;
  28. /**
  29. * 根据插件类型查找插件
  30. *
  31. * @param key 插件类对应的key
  32. *
  33. * @return 对应插件
  34. */
  35. - (nullable ALPBasePlugin *)searchPluginWithKey:(nonnull NSString *)key;
  36. /**
  37. * 删除所有插件
  38. *
  39. */
  40. - (void)clearPlugins;
  41. /**
  42. * 所有插件
  43. *
  44. * @return 所有插件
  45. */
  46. - (nullable NSArray *)plugins;
  47. @end