DeviceManager.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // DeviceManager.h
  3. // MobileVideo
  4. //
  5. // Created by XM on 2018/4/18.
  6. // Copyright © 2018年 XM. All rights reserved.
  7. //
  8. /**
  9. *登录账号后对设备的增删改查操作
  10. *通过输入序列号和IP添加设备时最好提供给用户选择设备类型的入口,因为通过序列号、IP等方式添加的设备无法知道设备类型,只有快速配置和局域网搜索添加的设备可以直接获取到设备类型
  11. */
  12. @protocol DeviceManagerDelegate <NSObject>
  13. @optional
  14. // 搜索局域网设备回调
  15. - (void)searchDevice:(NSMutableArray*)searchArray result:(int)result;
  16. // 添加设备结果回调
  17. - (void)addDeviceResult:(int)result;
  18. // 快速配置结果回调
  19. - (void)quickConfiguration:(id)device result:(int)resurt;
  20. // 获取设备在线状态结果
  21. - (void)getDeviceState:(NSString *)sId result:(int)result;
  22. // 设备唤醒结果
  23. - (void)deviceWeakUp:(NSString *)sId result:(int)result;
  24. // 获取设备通道结果
  25. - (void)getDeviceChannel:(NSString *)sId result:(int)result;
  26. // 删除设备结果
  27. - (void)deleteDevice:(NSString *)sId result:(int)result;
  28. // 修改设备信息结果
  29. - (void)changeDevice:(NSString *)sId changedResult:(int)result;
  30. // 判断主账号信息结果
  31. - (void)checkMaster:(NSString *)sId Result:(int)result;
  32. @end
  33. #import <Foundation/Foundation.h>
  34. #import "FunMsgListener.h"
  35. #import "DeviceObject.h"
  36. @interface NSMessage : NSObject
  37. @property(nonatomic, strong) NSObject *nsObj;
  38. @property(nonatomic, strong) NSString *strParam;
  39. @property(nonatomic, strong) id objId;
  40. @property(readwrite, assign) void *obj;
  41. @property(readwrite, assign) int param1;
  42. @property(readwrite, assign) int param2;
  43. + (id)SendMessag:(NSString *) name obj:(void *) obj p1:(int)param1 p2:(int)param2;
  44. @end
  45. @interface DeviceManager : FunMsgListener
  46. @property (nonatomic, assign) id <DeviceManagerDelegate> delegate;
  47. + (instancetype)getInstance;
  48. #pragma mark 获取设备列表和添加设备成功之后放入内存
  49. - (void)resiveDevicelist:(NSMessage *)msg;
  50. - (void)addDeviceToList:(NSMessage *)msg;
  51. #pragma mark -通过序列号、局域网搜索、ap模式连接添加设备
  52. - (void)addDeviceByDeviseSerialnumber:(NSString*)serialNumber deviceName:(NSString *)deviceName devType:(int)type;//通过输入设备序列号添加
  53. - (void)addDeviceByDeviceIP:(NSString *)deviceIP deviceName:(NSString *)name password:(NSString *)psw port:(NSString *)port;//通过ip/域名进行添加
  54. - (void)addDeviceByAP;//ap模式下只能直接连接打开,无法进行账号相关操作
  55. - (void)SearchDevice;//搜索局域网下的设备
  56. - (void)addDeviceBySerialNum:(NSString *)serialNumber deviceName:(NSString *)name type:(int)devType;//搜索到之后,再选择要添加的设备添加
  57. #pragma mark - 开始快速配置
  58. -(void)startConfigWithSSID:(NSString*)ssid password:(NSString*)password;
  59. #pragma mark - 停止快速配置
  60. -(void)stopConfig;
  61. #pragma mark - 获取设备状态 序列号传空值时获取所有设备的状态
  62. - (void)getDeviceState:(NSString *)deviceMac;
  63. #pragma mark - 唤醒睡眠中的设备
  64. - (void)deviceWeakUp:(NSString*)deviceMac;
  65. #pragma mark - 获取设备通道
  66. - (void)getDeviceChannel:(NSString *)devMac;
  67. #pragma mark - 修改设备信息 name:设备名称,user:设备用户名,默认admin,psw:用户密码
  68. - (void)changeDevice:(NSString *)devMac devName:(NSString *)name username:(NSString *)user password:(NSString *)psw;
  69. #pragma mark - 修改设备密码
  70. - (void)changeDevicePsw:(NSString *)devMac loginName:(NSString *)name password:(NSString *)psw;
  71. #pragma mark - 删除设备
  72. - (void)deleteDeviceWithDevMac:(NSString *)devMac;
  73. #pragma mark - 判断是否是主账号
  74. - (void)checkMasterAccount:(NSString *)devMac;
  75. #pragma mark - 解析二维码
  76. -(NSArray *)decodeDevInfo:(NSString*)info;
  77. @end