ifish/Ifish/GWP2PSDK/GWP2P.framework/Headers/GWP2PClient+Defense.h

129 lines
5.5 KiB
Objective-C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
/** @file GWP2PClient+Defense.h @brief 处理布撤防和预置位的分类 */
// P2PSDK
//
// Created by apple on 17/3/2.
// Copyright © 2017年 gwell. All rights reserved.
//
#import "GWP2PClient.h"
/**
操作预置位方式
*/
typedef enum GWPresetPositionOperationType {
GWPresetPositionOperationTypeTurnTo,/**< 转向某预置位 */
GWPresetPositionOperationTypeSet,/**< 在当前设备摄像头角度下增加给定索引的预置位,若给定索引设置过预置位,则覆盖原信息 */
GWPresetPositionOperationTypeQuery,/**< 查看所有预置位信息 */
GWPresetPositionOperationTypeDelete,/**< 删除某索引的预置位 */
} GWPresetPositionOperationType;
/**
@brief 定时布防模型,一个 GWSheduleDefencesModel 对象对应一条定时布防数据
*/
@interface GWSheduleDefencesModel : NSObject
@property (nonatomic, assign) BOOL on; /**< 此定时布防是否打开 */
@property (nonatomic, assign) NSUInteger index; /**< 此布防在设备的位置,一个设备最多五组布防 */
@property (nonatomic, assign) NSUInteger startTime_Hour; /**< 开始于多少小时 */
@property (nonatomic, assign) NSUInteger startTime_Minute; /**< 开始于多少分 */
@property (nonatomic, assign) NSUInteger endTime_Hour; /**< 结束于多少小时 */
@property (nonatomic, assign) NSUInteger endTime_Minute; /**< 结束于多少分 */
//每天的开关状态
@property (nonatomic, assign) BOOL mondayOn; /**< 周一是否打开 */
@property (nonatomic, assign) BOOL tuesdayOn; /**< 周二是否打开 */
@property (nonatomic, assign) BOOL wednesdayOn; /**< 周三是否打开 */
@property (nonatomic, assign) BOOL thursdayOn; /**< 周四是否打开 */
@property (nonatomic, assign) BOOL fridayOn; /**< 周五是否打开 */
@property (nonatomic, assign) BOOL saturdayOn; /**< 周六是否打开 */
@property (nonatomic, assign) BOOL sundayOn; /**< 周日是否打开 */
@end
/**
@brief 处理布撤防和预置位的分类
*/
@interface GWP2PClient (Defense)
#pragma mark - 普通布撤防操作
/**
设置设备布防状态
普通布防只是布防与不布防的操作,定时布防有很多数据,参见 GWSheduleDefencesModel
@param defenceStateOn 布防的开关状态
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceDefenceState:(BOOL)defenceStateOn
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
#pragma mark - 定时布防操作
/**
获取设备定时布撤防数据:返回的字典中 @"schedule defences" 键对应一个 包含 GWSheduleDefencesModel 的数组
这个接口可判断设备是否支持定时布防,设置接口判断不了
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)getDeviceSheduleDefenceDataWithDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
/**
设置设备定时布撤防每一次设置都会覆盖原来的布防记录且index自动从0开始排
若接口调用不成功,请先调获取定时布防数据接口判断设备是否支持,如果设备不支持,只会返回连接失败
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)setDeviceSheduleDefenceData:(NSArray<GWSheduleDefencesModel *> *)sheduleDefencesArray
withDeviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
#pragma mark 预置位操作
/**
操作设备预置位
功能介绍:摇头机转动位置,可以让用户设置几个特定的点,记住摇头机的位置(如门、窗或者其他位置),设置好之后,发转向预置位指令,摇头机将转动到记住的位置
获取时completionBlock返回信息 :
@"preset position indexes" 键对应一个保存已有预置位索引值的数组 NSMutableArray<NSNumber *> *
indexesArray传值
查看时indexesArray传nil或空数组。
转向某预置位时传一个元素传多个取第一个传nil或空数组取索引值为0的预置位。
添加预置位时传一个元素一次只能添加一个预置位传多个取第一个元素传nil或空数组取索引值为0的预置位。
删除时传一个或多个元素一次能删除多个预置位。不能传空数组或nil
@param operationType GWPresetPositionOperationType枚举值
@param indexesArray 保存预置位索引值的数组:索引值范围为0-4一个设备最多5个预置位索引值不能重复如@[@(0), @(3)]。
@param deviceID 设备ID
@param devicePassword 设备密码
@param completionBlock 与设备交互完成后的回调Block
*/
- (void)operateDevicePresetPositionWithOperationType:(GWPresetPositionOperationType)operationType
presetPositionIndexArray:(NSArray<NSNumber *> *)indexesArray
deviceID:(NSString *)deviceID
devicePassword:(NSString *)devicePassword
completionBlock:(CompletionBlock)completionBlock;
@end