Pyramid+Module.h 1.4 KB
//
//  Pyramid+Module.h
//  Pyramid
//
//  Created by jilutao on 2018/9/5.
//  Copyright © 2018 Baidu. All rights reserved.
//
#import <Foundation/Foundation.h>

@protocol BBPModuleProtocol;
@interface Pyramid (Module)

/**
 准备注册的组件

 @param moduleClass 组件类
 */
+ (void)addReadyRegisterModule:(Class<BBPModuleProtocol>)moduleClass;

/**
 注册所有组件
 */
+ (void)registerAllModules;

/**
 动态注册组件
 
 @param moduleClass 注解类
 @param shouldInit 组件注册后是否初始化
 */
+ (void)registerModule:(Class<BBPModuleProtocol>)moduleClass shouldInit:(BOOL)shouldInit;

/**
 加载组件
 
 @param supportPrivacyPolicy 是否支持隐私模式
 */
+ (void)registerModulesWithSupportPrivacyPolicy:(BOOL)supportPrivacyPolicy;

/**
 动态注册组件,不执行初始化
 
 @param moduleClass 注解类
 */
+ (void)registerModule:(Class<BBPModuleProtocol>)moduleClass;

/**
 动态注销组件
 
 @param moduleClass 组件类型
 */
+ (void)unregisterDynamicModule:(Class<BBPModuleProtocol>)moduleClass;

/**
 注册分发器
 
 @param dispatcher 分发器
 @param moduleInstance Module实例
 */
+ (void)registerDispatcher:(Class<BBPModuleProtocol>)dispatcher forModuleInstance:(id<BBPModuleProtocol>)moduleInstance;

/**
 触发分发器对应的Module初始化
 
 @param dispatcher 分发器
 */
+ (void)triggerModuleInitIfNeededForDispatcher:(Class<BBPModuleProtocol>)dispatcher;

@end