// // webRtcManager.h // 双子星云手机 // // Created by xd h on 2024/9/5. // #import #import #import #import #import "webRtcMsgModel.h" #import "USBInsertPopView.h" #import "addLogObject.h" #import "BoxHeartbeatAlertTool.h" #import "queryHeartbeatModel.h" #import "BoxHeartbeatReStartSucView.h" #import "BoxHeartbeatReStartView.h" #import "customDownloadOperation.h" #import "DFPlayer.h" #import "RCCommandHelp.h" #import "customDownloadCacheManager.h" #import "boxDownloadFileManager.h" #import "commandSendCheckModel.h" #import "couldPhoneCommonModel.h" #import "extraMediaEventModel.h" NS_ASSUME_NONNULL_BEGIN @interface webRtcManager : NSObject { USBInsertPopView *curUSBInsertPopV; //下载nas相关 customDownloadOperation* curDownloadmodel; } /** 实例化对象(单例) */ + (instancetype)shareManager; @property (nonatomic, strong) AMediaStream *mediaStream; @property (nonatomic, assign) BOOL didReportWebRtcOKType; @property (nonatomic, assign) BOOL didReportWebRtcFailType; @property(nonatomic,assign)BOOL isRebootIngType;//是否重启中 @property(nonatomic,assign)BOOL isResetingType;//是否恢复出厂中 @property(nonatomic,assign)BOOL isChangeBoxType;//是否更换盒子 @property(nonatomic,assign)BOOL isLogoutByOtherType;//被挤下线 @property(nonatomic,assign)BOOL isWaitShowLogoutAlert;//隐私模式等待被挤下线弹框是否弹出 @property(nonatomic,assign)BOOL isDiDChangePhoneSizeType;//是否修改了分辨率(如果是 进去云机需要重设解码器) @property(nonatomic,assign) RTCDataChannelState channelState; @property(nonatomic,assign) RTCIceConnectionState ConnectionState; #pragma mark 分类属性 #pragma mark 下载nas文件用到 @property (nonatomic, copy) NSString*nasFullPath; //下载nas ws 文件 保存到文件 正在弹框中 @property (nonatomic, assign) BOOL isShowingFileDocumentPickerType; @property(nonatomic,copy) NSString* webRtcChannelSessionId;//第一次链接webrtc信令的时间 #pragma mark 开始链接 - (void)beginToLinkWebRtcFun; #pragma mark 重新链接 - (void)relinkWebRtcFun; #pragma mark 关闭链接 - (void)closeLinkWebRtcFun; #pragma mark webrtc P2P通道发送消息 - (void)send_data:(NSString *)dataStr; #pragma mark 获取云机系统镜像等信息 - (void)getSysInfoFun; #pragma mark 获取云机基本信息 - (void)getBaseInfoFun; #pragma mark 获取云机剩余空间(包含外挂磁盘) - (void)getExtraFilesListFun; #pragma mark 重启云机 - (void)needToRebootFun; #pragma mark 恢复出厂设置云机 - (void)needToResetFun; #pragma mark 云机截图保存到云机图库 - (void)screenshotInCloudPhoneFun; #pragma mark 获取TV投屏状态 - (void)getTvStatusFun; #pragma mark 关闭TV投屏状态 - (void)offTvFun; #pragma mark 开启TV投屏状态 - (void)onTvFun; //创建备份文件夹 - (void)createBackupsFolderBy:(NSString*)backupsDefaultPath; //获取备份文件夹列表 - (void)getBackupFolderListFun; #pragma mark 分类方向 #pragma mark nas下载完成 - (void)NasDownloadTaskFinishedNoti:(customDownloadOperation *)nasDownloadOperation; #pragma mark 上报打洞是否成功 - (void)reportWebRtcRePoportTypeIsChannel:(BOOL)IsChannel withStats:(RTC_OBJC_TYPE(RTCStatisticsReport) *)stats withSessionId:(NSString*)sessionId withLogKey:(NSString*)logkey; // IsChannel:是否是P2P通道 - (void)reportWebRtcRePoportTypeIsChannel:(BOOL)IsChannel withLocal:(RTC_OBJC_TYPE(RTCIceCandidate) *)local remoteCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)remote withSessionId:(NSString*)sessionId withLogKey:(NSString*)logkey; @end NS_ASSUME_NONNULL_END