//
//  RCCommandHelp.h
//  VclustersGemini
//
//  Created by APPLE on 2019/11/7.
//  Copyright © 2019 APPLE. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface RCCommandHelp : NSObject

+ (NSString *)mutTapCommand500DownWithTouches:(NSArray *)touches
                                showImageView:(UIImageView *)showImageView
                                        isLan:(BOOL)isLan;

+ (NSString *)mutTapCommand500UpWithTouches:(NSArray *)touches
                              showImageView:(UIImageView *)showImageView
                                      isLan:(BOOL)isLan;

+ (NSString *)mutMoveCommand500UpWithTouches:(NSArray *)touches
                               showImageView:(UIImageView *)showImageView
                                       isLan:(BOOL)isLan;


+ (NSString *)tapDownCommandTouches:(UITouch *)touch
                         touchCount:(NSInteger)touchCount
                      showImageView:(UIImageView *)showImageView
                              isLan:(BOOL)isLan;

+ (NSString *)tapUpCommandTouches:(UITouch *)touch
                       touchCount:(NSInteger)touchCount
                    showImageView:(UIImageView *)showImageView
                            isLan:(BOOL)isLan;

+ (NSString *)tapMoveCommandTouches:(UITouch *)touch
                         touchCount:(NSInteger)touchCount
                      showImageView:(UIImageView *)showImageView
                              isLan:(BOOL)isLan;

/**
* @brief 关闭视频流指令
*
*/
+ (NSString *)toStopControllerDevice500;

/**
* @brief 摇一摇
*
*/
+ (NSString *)commandShake;

/**
* @brief 开启本地键盘透传
*
*/
+ (NSString *)commandOpenLoaclKeyboad;

/**
* @brief 使用云手机键盘
*
*/
+ (NSString *)commandCloseLoaclKeyboad;

/**
* @brief 关闭云手机键盘透传
*
*/
+ (NSString *)commandClosePhoneKeyboad;

/**
* @brief 设置云手机默认帧率
*
*/
+ (NSString *)commandSetFps;

/**
* @brief 发送透传文字给云手机/输入或者删除
*
* @param  str 输入的内容 为nil时为删除
*
*/
+ (NSString *)commandKeyboadInputStr:(NSString *_Nullable)str;

/**
* @brief 获取发给安卓手机的指令字符串
*
* @param  code 指令类型 3:home 4:back  25:声音-键  24:声音+键  187:后台切换
*
*/
+ (NSString *)commandBackOrHomeVolum500WithKeyCode:(int)code;

/**
 * @brief 获取发给安卓手机设置分辨率的指令字符串
 *
 * @param  type 200:极速  400:高速  600:标清  800:自动  1000:高清
 *
 */
+ (NSString *)commandResolution500WithType:(NSUInteger)type;

/**
* @brief 云手机预览图指令
*/
+ (NSString *)commandGetScreenPicWithTaskUid:(NSString *)taskUid intervalTime:(int)intervalTime;

/**
* @brief 云手机截图指令
*/
+ (NSString *)commandCloudPhoneScreenshotWithTaskUid:(NSString *)taskUid;

/**
* @brief 云手机下载透传指令（云游戏下载透传到云手机）
*/
+ (NSString *)commandCloudPhoneDownloadWithTaskUid:(NSString *)taskUid apkUrl:(NSString *)apkUrl;

/**
* @brief 云游戏支付透传指令 （云游戏在本地支付完成透传到云手机）payResult 0:失败 1:成功
*/
+ (NSString *)commandCloudPhonePayWithTaskUid:(NSString *)taskUid payResult:(int)payResult;

/**
* @brief 剪切板接口
*
* @param  str 要剪切的文本
*
*/
+ (NSString *)commandCuttingWithContent:(NSString *)str;

/**
 * @brief 记录推流开始时间
 *
 * @param  deviceid 云手机id
 *
 */
+ (NSString *)commandConnectedWithDeviceId:(NSString *)deviceid;


/**
 * @brief 控制权---查询控制权情况
 */
+ (NSString *)askControllcommandWithUseName:(NSString*)useName;

/**
 * @brief 控制权---回复控制权
 *
 * @param useName 用户账号
 *
 * @param haveControl 是否有在控制 YES:有在控制 NO:没有在控制
 *
 */
+ (NSString *)faceBackControllcommandWithUseName:(NSString*)useName haveControl:(BOOL)haveControl;

/**
 * @brief 控制权---拿回控制权
 *
 * @param useName 用户账号*
 */
+ (NSString *)getBackControllcommandWithUseName:(NSString*)useName;

/**
 * @brief 获取板卡的分辨率
 */
+ (NSString *)getPhoneSizecommand;

/**
 * @brief 设置板卡的分辨率
 *
 * @param width 宽度
 *
 * @param high  高度
 *
 * @param dpi   密度
 */
+ (NSString *)setPhoneSizecommandWithWidth:(NSInteger)width high:(NSInteger)high dpi:(NSInteger)dpi;

/**
 * @brief 不支持wifi
 */
+ (NSString *)noSyncWifiBack;

/**
 * @brief 向云手机发送下载app的指令
 *
 * @param appurl app下载链接 appid  app标识符
 */
+ (NSString *)downLoadAppWithAppUrl:(NSString*)appurl appId:(NSString *)appid;

/**
 * @brief 申请上传文件 请求
 *
 * @param taskUid
 * @param filePath 传file name
 */
+ (NSString *)applyForUploadFileBy:(NSString*)taskUid filePath:(NSString *)filePath;
@end

NS_ASSUME_NONNULL_END
