Files
peko-ios/YuMi/Modules/YMRoom/View/MoreView/Model/XPRoomMoreMenuActionContext.h

58 lines
1.4 KiB
Objective-C

//
// XPRoomMoreMenuActionContext.h
// YuMi
//
// Created by Linus on 2025/1/13.
//
#import <Foundation/Foundation.h>
@class RoomInfoModel;
@class UserInfoModel;
@protocol RoomHostDelegate;
NS_ASSUME_NONNULL_BEGIN
/**
* 房间更多菜单操作上下文
* 包含执行操作所需的所有依赖
*/
@interface XPRoomMoreMenuActionContext : NSObject
/// 房间信息
@property (nonatomic, strong) RoomInfoModel *roomInfo;
/// 用户信息
@property (nonatomic, strong) UserInfoModel *userInfo;
/// 房间代理
@property (nonatomic, assign) id<RoomHostDelegate> hostDelegate;
/// 当前展示的视图控制器
@property (nonatomic, assign) id presentingViewController;
/// 用户是否在麦上
@property (nonatomic, assign) BOOL isOnMic;
/// 是否是超级管理员
@property (nonatomic, assign) BOOL isSuperAdmin;
/// 是否是应用超级管理员
@property (nonatomic, assign) BOOL isAppSuperAdmin;
/**
* 便利构造方法
*/
+ (instancetype)contextWithRoomInfo:(RoomInfoModel *)roomInfo
userInfo:(UserInfoModel * _Nullable)userInfo
hostDelegate:(id<RoomHostDelegate> _Nullable)hostDelegate
presentingViewController:(id _Nullable)presentingViewController
isOnMic:(BOOL)isOnMic
isSuperAdmin:(BOOL)isSuperAdmin
isAppSuperAdmin:(BOOL)isAppSuperAdmin;
@end
NS_ASSUME_NONNULL_END