//
//  RTCXWlanLinkProtocol.h
//  RTCXDeviceCenter
//
//  Created by Apple on 2025/7/1.
//

#import <Foundation/Foundation.h>
#import <RTCXDeviceCenter/RTCXWlanLinkModel.h>
NS_ASSUME_NONNULL_BEGIN
extern NSString *const AIRTC_ReleaseCacheP2PChannelNotification;

typedef void (^RTCXWlanLinkCallback)(BOOL success, id _Nullable data, NSError * _Nullable error);

@protocol RTCXWlanLinkProtocol <NSObject>
/**
 开始搜索局域网设备

 @param callback 响应回调
 */
- (void)startSearchWlanDeviceOnCallback:(RTCXWlanLinkCallback)callback;
/**
 开始搜索局域网设备，通过设备IP

 @param ip 设备IP地址
 @param callback 响应回调
 */
- (void)startSearchWlanDeviceWithIp:(NSString *_Nullable)ip onCallback:(RTCXWlanLinkCallback)callback;
/**
 停止搜索局域网设备

 */
- (void)stopSearchWlanDevice;
/**
 开始局域网设备连接
 
 @param req  请求参数对象
 @param callback 响应回调
 */
- (void)startConnectWithReq:(RTCXWlanLinkConnectReq *)req onCallback:(RTCXWlanLinkCallback)callback;
/**
 断开局域网设备连接

 */
- (void)disConnect;
/**
 释放缓存资源

 */
- (void)releaseCache;
/**
 请求网关的子设备列表
 
 @param req  请求参数对象
 @param callback 响应回调
 */
- (void)queryGatewaySubdeviceListWithReq:(RTCXWlanLinkSubdeviceListReq *)req onCallback:(RTCXWlanLinkCallback)callback;
@end

NS_ASSUME_NONNULL_END
