AlarmDetectConfig.mm 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. //
  2. // AlarmDetectConfig.m
  3. // FunSDKDemo
  4. //
  5. // Created by XM on 2018/5/18.
  6. // Copyright © 2018年 XM. All rights reserved.
  7. //
  8. /***
  9. 设备报警配置
  10. Detect_MotionDetect 移动侦测配置
  11. Detect_BlindDetect 视频遮挡配置
  12. Detect_LossDetect 视频丢失配置
  13. *****/
  14. #import "AlarmDetectConfig.h"
  15. #import "Detect_MotionDetect.h"
  16. #import "Detect_BlindDetect.h"
  17. #import "Detect_LossDetect.h"
  18. @interface AlarmDetectConfig () {
  19. }
  20. @property (nonatomic, assign) Detect_BlindDetect blindCfg; //视频遮挡数据对象
  21. @property (nonatomic, assign) Detect_LossDetect lossCfg;//视频丢失数据对象
  22. @property (nonatomic, assign) Detect_MotionDetect motionCfg;//移动侦测数据对象
  23. @end
  24. @implementation AlarmDetectConfig
  25. #pragma mark 获取设备报警配置接口调用
  26. - (void)getDeviceAlarmDetectConfig{
  27. //获取通道
  28. ChannelObject *channel = [[DeviceControl getInstance] getSelectChannel];
  29. //移动侦测
  30. CfgParam* paramMotionCfg = [[CfgParam alloc] initWithName:[NSString stringWithUTF8String:_motionCfg.Name()] andDevId:channel.deviceMac andChannel:channel.channelNumber andConfig:&_motionCfg andOnce:YES andSaveLocal:NO];
  31. [self AddConfig:paramMotionCfg];
  32. //视频遮挡
  33. CfgParam* paramBlindCfg = [[CfgParam alloc] initWithName:[NSString stringWithUTF8String:_blindCfg.Name()] andDevId:channel.deviceMac andChannel:channel.channelNumber andConfig:&_blindCfg andOnce:YES andSaveLocal:NO];
  34. [self AddConfig:paramBlindCfg];
  35. //视频丢失
  36. CfgParam* paramLossCfg = [[CfgParam alloc] initWithName:[NSString stringWithUTF8String:_lossCfg.Name()] andDevId:channel.deviceMac andChannel:channel.channelNumber andConfig:&_lossCfg andOnce:YES andSaveLocal:NO];
  37. [self AddConfig:paramLossCfg];
  38. //调用获取配置的命令
  39. [self GetConfig];
  40. }
  41. #pragma mark 获取配置回调信息
  42. -(void)OnGetConfig:(CfgParam *)param {
  43. if ([param.name isEqualToString:[NSString stringWithUTF8String:_motionCfg.Name()]]) {
  44. //移动侦测回调
  45. if ([self.delegate respondsToSelector:@selector(getAlarmDetectConfigResult:)]) {
  46. [self.delegate getAlarmDetectConfigResult:param.errorCode ];
  47. }
  48. }
  49. if ( [param.name isEqualToString:[NSString stringWithUTF8String:_blindCfg.Name()]]) {
  50. //视频遮挡回调
  51. if ([self.delegate respondsToSelector:@selector(getAlarmDetectConfigResult:)]) {
  52. [self.delegate getAlarmDetectConfigResult:param.errorCode ];
  53. }
  54. }
  55. if ([param.name isEqualToString:[NSString stringWithUTF8String:_lossCfg.Name()]]) {
  56. //视频丢失回调
  57. if ([self.delegate respondsToSelector:@selector(getAlarmDetectConfigResult:)]) {
  58. [self.delegate getAlarmDetectConfigResult:param.errorCode ];
  59. }
  60. }
  61. }
  62. #pragma mark 保存设备报警配置接口调用
  63. - (void)setDeviceAlarmDetectConfig {
  64. //发送保存配置的请求
  65. [self SetConfig];
  66. }
  67. #pragma mark 保存配置回调信息
  68. - (void)OnSetConfig:(CfgParam *)param {
  69. if ([param.name isEqualToString:[NSString stringWithUTF8String:_motionCfg.Name()]]) {
  70. }
  71. if ( [param.name isEqualToString:[NSString stringWithUTF8String:_blindCfg.Name()]] ) {
  72. }
  73. if ([param.name isEqualToString:[NSString stringWithUTF8String:_lossCfg.Name()]]) {
  74. if ([self.delegate respondsToSelector:@selector(setAlarmDetectConfigResult:)]) {
  75. [self.delegate setAlarmDetectConfigResult:param.errorCode];
  76. }
  77. }
  78. }
  79. #pragma mark 读取各项配置的属性值
  80. - (BOOL)getLossEnable { //视频都是开关
  81. return _lossCfg.Enable.Value();
  82. }
  83. - (BOOL)getMotionEnable { //移动侦测开关
  84. return _motionCfg.Enable.Value();
  85. }
  86. - (BOOL)getMotionRecordEnable { //移动侦测录像开关
  87. return _motionCfg.mEventHandler.RecordEnable.Value();
  88. }
  89. - (BOOL)getMotionSnapEnable { //移动侦测抓图开关
  90. return _motionCfg.mEventHandler.SnapEnable.Value();
  91. }
  92. - (BOOL)getMotionMessageEnable{ //移动侦测手机消息推送开关
  93. return _motionCfg.mEventHandler.MessageEnable.Value();
  94. }
  95. - (int)getMotionlevel{//获取移动侦测灵敏度
  96. return _motionCfg.Level.Value();
  97. }
  98. - (BOOL)getBlindEnable { //视频遮挡开关
  99. return _blindCfg.Enable.Value();
  100. }
  101. - (BOOL)getBlindRecordEnable { //视频遮挡录像开关
  102. return _blindCfg.mEventHandler.RecordEnable.Value();
  103. }
  104. - (BOOL)getBlindSnapEnable { //视频遮挡抓图开关
  105. return _blindCfg.mEventHandler.SnapEnable.Value();
  106. }
  107. - (BOOL)getBlindMessageEnable{ //视频遮挡手机消息推送开关
  108. return _blindCfg.mEventHandler.MessageEnable.Value();
  109. }
  110. #pragma - mark 设置各项配置具体的属性值
  111. - (void)setLossEnable:(BOOL)Enable { //视频都是开关
  112. _lossCfg.Enable = Enable;
  113. }
  114. - (void)setMotionEnable:(BOOL)Enable { //移动侦测开关
  115. _motionCfg.Enable = Enable;
  116. }
  117. - (void)setMotionRecordEnable:(BOOL)Enable { //移动侦测录像开关
  118. _motionCfg.mEventHandler.RecordEnable = Enable;
  119. }
  120. - (void)setMotionSnapEnable:(BOOL)Enable { //移动侦测抓图开关
  121. _motionCfg.mEventHandler.SnapEnable = Enable;
  122. }
  123. - (void)setMotionMessageEnable:(BOOL)Enable{ //移动侦测手机消息推送开关
  124. _motionCfg.mEventHandler.MessageEnable =Enable;
  125. }
  126. - (void)setMotionlevel:(int)Level{//移动侦测灵敏度
  127. _motionCfg.Level = Level;
  128. }
  129. - (void)setBlindEnable:(BOOL)Enable { //视频遮挡开关
  130. _blindCfg.Enable =Enable;
  131. }
  132. - (void)setBlindRecordEnable:(BOOL)Enable { //视频遮挡录像开关
  133. _blindCfg.mEventHandler.RecordEnable =Enable;
  134. }
  135. - (void)setBlindSnapEnable:(BOOL)Enable { //视频遮挡抓图开关
  136. _blindCfg.mEventHandler.SnapEnable = Enable;
  137. }
  138. - (void)setBlindMessageEnable:(BOOL)Enable { //视频遮挡手机消息推送开关
  139. _blindCfg.mEventHandler.MessageEnable =Enable;
  140. }
  141. //这个回调方法是必须的,初步获取到的数据通过这个方法回调到底层进行解析
  142. - (void)OnFunSDKResult:(NSNumber *) pParam {
  143. [super OnFunSDKResult:pParam];
  144. }
  145. - (void)didReceiveMemoryWarning {
  146. [super didReceiveMemoryWarning];
  147. // Dispose of any resources that can be recreated.
  148. }
  149. @end