17c804472Sopenharmony_ci/* 27c804472Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 37c804472Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47c804472Sopenharmony_ci * you may not use this file except in compliance with the License. 57c804472Sopenharmony_ci * You may obtain a copy of the License at 67c804472Sopenharmony_ci * 77c804472Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87c804472Sopenharmony_ci * 97c804472Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107c804472Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117c804472Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127c804472Sopenharmony_ci * See the License for the specific language governing permissions and 137c804472Sopenharmony_ci * limitations under the License. 147c804472Sopenharmony_ci */ 157c804472Sopenharmony_ci 167c804472Sopenharmony_ci#ifndef COMMANDLINE_H 177c804472Sopenharmony_ci#define COMMANDLINE_H 187c804472Sopenharmony_ci 197c804472Sopenharmony_ci#include <set> 207c804472Sopenharmony_ci#include <vector> 217c804472Sopenharmony_ci#include "JsonReader.h" 227c804472Sopenharmony_ci#include "LocalSocket.h" 237c804472Sopenharmony_ci 247c804472Sopenharmony_ciclass CommandLine { 257c804472Sopenharmony_cipublic: 267c804472Sopenharmony_ci enum class CommandType { SET = 0, GET, ACTION, INVALID }; 277c804472Sopenharmony_ci 287c804472Sopenharmony_ci CommandLine(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 297c804472Sopenharmony_ci virtual ~CommandLine(); 307c804472Sopenharmony_ci void CheckAndRun(); 317c804472Sopenharmony_ci void SetCommandResult(const std::string& type, const Json2::Value& resultContent); 327c804472Sopenharmony_ci void SetResultToManager(const std::string& type, const Json2::Value& resultContent, const std::string& messageType); 337c804472Sopenharmony_ci void RunAndSendResultToManager(); 347c804472Sopenharmony_ci void SendResultToManager(); 357c804472Sopenharmony_ci void SendResult(); 367c804472Sopenharmony_ci virtual void RunSet() {} 377c804472Sopenharmony_ci bool IsArgValid() const; 387c804472Sopenharmony_ci uint8_t ToUint8(std::string str) const; 397c804472Sopenharmony_ci void SetCommandName(std::string command); 407c804472Sopenharmony_ci 417c804472Sopenharmony_ciprotected: 427c804472Sopenharmony_ci const Json2::Value& args; 437c804472Sopenharmony_ci const LocalSocket& cliSocket; 447c804472Sopenharmony_ci Json2::Value commandResult = JsonReader::CreateObject(); 457c804472Sopenharmony_ci Json2::Value commandResultToManager = JsonReader::CreateObject(); 467c804472Sopenharmony_ci CommandType type; 477c804472Sopenharmony_ci std::string commandName; 487c804472Sopenharmony_ci const std::vector<std::string> liteSupportedLanguages = {"zh-CN", "en-US"}; 497c804472Sopenharmony_ci const std::vector<std::string> richSupportedLanguages = { 507c804472Sopenharmony_ci "zh_CN", "zh_HK", "zh_TW", "en_US", "en_GB", "ar_AE", "bg_BG", "bo_CN", "cs_CZ", "da_DK", 517c804472Sopenharmony_ci "de_DE", "el_GR", "en_PH", "es_ES", "es_LA", "fi_FI", "fr_FR", "he_IL", "hi_IN", "hu_HU", 527c804472Sopenharmony_ci "id_ID", "it_IT", "ja_JP", "kk_KZ", "ms_MY", "nl_NL", "no_NO", "pl_PL", "pt_BR", "pt_PT", 537c804472Sopenharmony_ci "ro_RO", "ru_RU", "sr_RS", "sv_SE", "th_TH", "tr_TR", "ug_CN", "uk_UA", "vi_VN" 547c804472Sopenharmony_ci }; 557c804472Sopenharmony_ci const std::vector<std::string> LoadDocDevs = {"phone", "tablet", "wearable", "car", "tv", "2in1", "default"}; 567c804472Sopenharmony_ci const int maxWidth = 3000; 577c804472Sopenharmony_ci const int minWidth = 50; 587c804472Sopenharmony_ci const int maxDpi = 640; 597c804472Sopenharmony_ci const int minDpi = 120; 607c804472Sopenharmony_ci const int maxKeyVal = 2119; 617c804472Sopenharmony_ci const int minKeyVal = 2000; 627c804472Sopenharmony_ci const int maxActionVal = 2; 637c804472Sopenharmony_ci const int minActionVal = 0; 647c804472Sopenharmony_ci const int maxLoadDocWidth = 3000; 657c804472Sopenharmony_ci const int minLoadDocWidth = 20; 667c804472Sopenharmony_ci 677c804472Sopenharmony_ci virtual bool IsSetArgValid() const 687c804472Sopenharmony_ci { 697c804472Sopenharmony_ci return true; 707c804472Sopenharmony_ci } 717c804472Sopenharmony_ci virtual bool IsGetArgValid() const 727c804472Sopenharmony_ci { 737c804472Sopenharmony_ci return true; 747c804472Sopenharmony_ci } 757c804472Sopenharmony_ci virtual bool IsActionArgValid() const 767c804472Sopenharmony_ci { 777c804472Sopenharmony_ci return true; 787c804472Sopenharmony_ci } 797c804472Sopenharmony_ci virtual void RunGet() {} 807c804472Sopenharmony_ci virtual void RunAction() {} 817c804472Sopenharmony_ci 827c804472Sopenharmony_ci bool IsBoolType(std::string arg) const; 837c804472Sopenharmony_ci bool IsIntType(std::string arg) const; 847c804472Sopenharmony_ci bool IsOneDigitFloatType(std::string arg, bool allowNegativeNumber) const; 857c804472Sopenharmony_ci 867c804472Sopenharmony_ciprivate: 877c804472Sopenharmony_ci void Run(); 887c804472Sopenharmony_ci}; 897c804472Sopenharmony_ci 907c804472Sopenharmony_ciclass TouchAndMouseCommand { 917c804472Sopenharmony_ciprotected: 927c804472Sopenharmony_ci struct EventParams { 937c804472Sopenharmony_ci double x; 947c804472Sopenharmony_ci double y; 957c804472Sopenharmony_ci int type; 967c804472Sopenharmony_ci int button; 977c804472Sopenharmony_ci int action; 987c804472Sopenharmony_ci int sourceType; 997c804472Sopenharmony_ci int sourceTool; 1007c804472Sopenharmony_ci std::set<int> pressedBtnsVec; 1017c804472Sopenharmony_ci std::vector<double> axisVec; // 13 is array size 1027c804472Sopenharmony_ci std::string name; 1037c804472Sopenharmony_ci }; 1047c804472Sopenharmony_ci void SetEventParams(EventParams& params); 1057c804472Sopenharmony_ci}; 1067c804472Sopenharmony_ci 1077c804472Sopenharmony_ciclass TouchPressCommand : public CommandLine, public TouchAndMouseCommand { 1087c804472Sopenharmony_cipublic: 1097c804472Sopenharmony_ci TouchPressCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1107c804472Sopenharmony_ci ~TouchPressCommand() override {} 1117c804472Sopenharmony_ci 1127c804472Sopenharmony_ciprotected: 1137c804472Sopenharmony_ci void RunAction() override; 1147c804472Sopenharmony_ci bool IsActionArgValid() const override; 1157c804472Sopenharmony_ci}; 1167c804472Sopenharmony_ci 1177c804472Sopenharmony_ciclass TouchMoveCommand : public CommandLine, public TouchAndMouseCommand { 1187c804472Sopenharmony_cipublic: 1197c804472Sopenharmony_ci TouchMoveCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1207c804472Sopenharmony_ci ~TouchMoveCommand() override {} 1217c804472Sopenharmony_ci 1227c804472Sopenharmony_ciprotected: 1237c804472Sopenharmony_ci void RunAction() override; 1247c804472Sopenharmony_ci bool IsActionArgValid() const override; 1257c804472Sopenharmony_ci}; 1267c804472Sopenharmony_ci 1277c804472Sopenharmony_ciclass TouchReleaseCommand : public CommandLine, public TouchAndMouseCommand { 1287c804472Sopenharmony_cipublic: 1297c804472Sopenharmony_ci TouchReleaseCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1307c804472Sopenharmony_ci ~TouchReleaseCommand() override {} 1317c804472Sopenharmony_ci 1327c804472Sopenharmony_ciprotected: 1337c804472Sopenharmony_ci void RunAction() override; 1347c804472Sopenharmony_ci bool IsActionArgValid() const override; 1357c804472Sopenharmony_ci}; 1367c804472Sopenharmony_ci 1377c804472Sopenharmony_ciclass MouseWheelCommand : public CommandLine { 1387c804472Sopenharmony_cipublic: 1397c804472Sopenharmony_ci MouseWheelCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1407c804472Sopenharmony_ci ~MouseWheelCommand() override {} 1417c804472Sopenharmony_ci 1427c804472Sopenharmony_ciprotected: 1437c804472Sopenharmony_ci void RunAction() override; 1447c804472Sopenharmony_ci bool IsActionArgValid() const override; 1457c804472Sopenharmony_ci}; 1467c804472Sopenharmony_ci 1477c804472Sopenharmony_ciclass BackClickedCommand : public CommandLine { 1487c804472Sopenharmony_cipublic: 1497c804472Sopenharmony_ci BackClickedCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1507c804472Sopenharmony_ci ~BackClickedCommand() override {} 1517c804472Sopenharmony_ci 1527c804472Sopenharmony_ciprotected: 1537c804472Sopenharmony_ci void RunAction() override; 1547c804472Sopenharmony_ci}; 1557c804472Sopenharmony_ci 1567c804472Sopenharmony_ciclass RestartCommand : public CommandLine { 1577c804472Sopenharmony_cipublic: 1587c804472Sopenharmony_ci RestartCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1597c804472Sopenharmony_ci ~RestartCommand() override {} 1607c804472Sopenharmony_ci 1617c804472Sopenharmony_ciprotected: 1627c804472Sopenharmony_ci void RunAction() override; 1637c804472Sopenharmony_ci}; 1647c804472Sopenharmony_ci 1657c804472Sopenharmony_ciclass PowerCommand : public CommandLine { 1667c804472Sopenharmony_cipublic: 1677c804472Sopenharmony_ci PowerCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1687c804472Sopenharmony_ci ~PowerCommand() override {} 1697c804472Sopenharmony_ci void RunSet() override; 1707c804472Sopenharmony_ci 1717c804472Sopenharmony_ciprotected: 1727c804472Sopenharmony_ci void RunGet() override; 1737c804472Sopenharmony_ci bool IsSetArgValid() const override; 1747c804472Sopenharmony_ci}; 1757c804472Sopenharmony_ci 1767c804472Sopenharmony_ciclass VolumeCommand : public CommandLine { 1777c804472Sopenharmony_cipublic: 1787c804472Sopenharmony_ci VolumeCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1797c804472Sopenharmony_ci ~VolumeCommand() override {} 1807c804472Sopenharmony_ci void RunSet() override; 1817c804472Sopenharmony_ci 1827c804472Sopenharmony_ciprotected: 1837c804472Sopenharmony_ci void RunGet() override; 1847c804472Sopenharmony_ci bool IsSetArgValid() const override; 1857c804472Sopenharmony_ci}; 1867c804472Sopenharmony_ci 1877c804472Sopenharmony_ciclass BarometerCommand : public CommandLine { 1887c804472Sopenharmony_cipublic: 1897c804472Sopenharmony_ci BarometerCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 1907c804472Sopenharmony_ci ~BarometerCommand() override {} 1917c804472Sopenharmony_ci void RunSet() override; 1927c804472Sopenharmony_ci 1937c804472Sopenharmony_ciprotected: 1947c804472Sopenharmony_ci void RunGet() override; 1957c804472Sopenharmony_ci bool IsSetArgValid() const override; 1967c804472Sopenharmony_ci}; 1977c804472Sopenharmony_ci 1987c804472Sopenharmony_ciclass ResolutionSwitchCommand : public CommandLine { 1997c804472Sopenharmony_cipublic: 2007c804472Sopenharmony_ci ResolutionSwitchCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2017c804472Sopenharmony_ci ~ResolutionSwitchCommand() override {} 2027c804472Sopenharmony_ci void RunSet() override; 2037c804472Sopenharmony_ci 2047c804472Sopenharmony_ciprotected: 2057c804472Sopenharmony_ci bool IsSetArgValid() const override; 2067c804472Sopenharmony_ci bool IsIntValValid() const; 2077c804472Sopenharmony_ci}; 2087c804472Sopenharmony_ci 2097c804472Sopenharmony_ciclass OrientationCommand : public CommandLine { 2107c804472Sopenharmony_cipublic: 2117c804472Sopenharmony_ci OrientationCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2127c804472Sopenharmony_ci ~OrientationCommand() override {} 2137c804472Sopenharmony_ci void RunSet() override; 2147c804472Sopenharmony_ci 2157c804472Sopenharmony_ciprotected: 2167c804472Sopenharmony_ci bool IsSetArgValid() const override; 2177c804472Sopenharmony_ci}; 2187c804472Sopenharmony_ci 2197c804472Sopenharmony_ciclass ColorModeCommand : public CommandLine { 2207c804472Sopenharmony_cipublic: 2217c804472Sopenharmony_ci ColorModeCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2227c804472Sopenharmony_ci ~ColorModeCommand() override {} 2237c804472Sopenharmony_ci void RunSet() override; 2247c804472Sopenharmony_ci 2257c804472Sopenharmony_ciprotected: 2267c804472Sopenharmony_ci bool IsSetArgValid() const override; 2277c804472Sopenharmony_ci}; 2287c804472Sopenharmony_ci 2297c804472Sopenharmony_ciclass LanguageCommand : public CommandLine { 2307c804472Sopenharmony_cipublic: 2317c804472Sopenharmony_ci LanguageCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2327c804472Sopenharmony_ci ~LanguageCommand() override {} 2337c804472Sopenharmony_ci void RunSet() override; 2347c804472Sopenharmony_ci 2357c804472Sopenharmony_ciprotected: 2367c804472Sopenharmony_ci void RunGet() override; 2377c804472Sopenharmony_ci bool IsSetArgValid() const override; 2387c804472Sopenharmony_ci}; 2397c804472Sopenharmony_ci 2407c804472Sopenharmony_ciclass FontSelectCommand : public CommandLine { 2417c804472Sopenharmony_cipublic: 2427c804472Sopenharmony_ci FontSelectCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2437c804472Sopenharmony_ci ~FontSelectCommand() override {} 2447c804472Sopenharmony_ci void RunSet() override; 2457c804472Sopenharmony_ci 2467c804472Sopenharmony_ciprotected: 2477c804472Sopenharmony_ci bool IsSetArgValid() const override; 2487c804472Sopenharmony_ci}; 2497c804472Sopenharmony_ci 2507c804472Sopenharmony_ciclass MemoryRefreshCommand : public CommandLine { 2517c804472Sopenharmony_cipublic: 2527c804472Sopenharmony_ci MemoryRefreshCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2537c804472Sopenharmony_ci ~MemoryRefreshCommand() override {} 2547c804472Sopenharmony_ci void RunSet() override; 2557c804472Sopenharmony_ci 2567c804472Sopenharmony_ciprotected: 2577c804472Sopenharmony_ci bool IsSetArgValid() const override; 2587c804472Sopenharmony_ci}; 2597c804472Sopenharmony_ci 2607c804472Sopenharmony_ciclass LoadDocumentCommand : public CommandLine { 2617c804472Sopenharmony_cipublic: 2627c804472Sopenharmony_ci LoadDocumentCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2637c804472Sopenharmony_ci ~LoadDocumentCommand() override {} 2647c804472Sopenharmony_ci void RunSet() override; 2657c804472Sopenharmony_ci 2667c804472Sopenharmony_ciprotected: 2677c804472Sopenharmony_ci bool IsSetArgValid() const override; 2687c804472Sopenharmony_ci bool IsIntValValid(const Json2::Value& previewParam) const; 2697c804472Sopenharmony_ci bool IsStrValVailid(const Json2::Value& previewParam) const; 2707c804472Sopenharmony_ci}; 2717c804472Sopenharmony_ci 2727c804472Sopenharmony_ciclass ReloadRuntimePageCommand : public CommandLine { 2737c804472Sopenharmony_cipublic: 2747c804472Sopenharmony_ci ReloadRuntimePageCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2757c804472Sopenharmony_ci ~ReloadRuntimePageCommand() override {} 2767c804472Sopenharmony_ci void RunSet() override; 2777c804472Sopenharmony_ci 2787c804472Sopenharmony_ciprotected: 2797c804472Sopenharmony_ci bool IsSetArgValid() const override; 2807c804472Sopenharmony_ci}; 2817c804472Sopenharmony_ci 2827c804472Sopenharmony_ciclass CurrentRouterCommand : public CommandLine { 2837c804472Sopenharmony_cipublic: 2847c804472Sopenharmony_ci CurrentRouterCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2857c804472Sopenharmony_ci ~CurrentRouterCommand() override {} 2867c804472Sopenharmony_ci 2877c804472Sopenharmony_ciprotected: 2887c804472Sopenharmony_ci void RunGet() override; 2897c804472Sopenharmony_ci}; 2907c804472Sopenharmony_ci 2917c804472Sopenharmony_ciclass LoadContentCommand : public CommandLine { 2927c804472Sopenharmony_cipublic: 2937c804472Sopenharmony_ci LoadContentCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 2947c804472Sopenharmony_ci ~LoadContentCommand() override {} 2957c804472Sopenharmony_ci 2967c804472Sopenharmony_ciprotected: 2977c804472Sopenharmony_ci void RunGet() override; 2987c804472Sopenharmony_ci}; 2997c804472Sopenharmony_ci 3007c804472Sopenharmony_ciclass SupportedLanguagesCommand : public CommandLine { 3017c804472Sopenharmony_cipublic: 3027c804472Sopenharmony_ci SupportedLanguagesCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3037c804472Sopenharmony_ci ~SupportedLanguagesCommand() override {} 3047c804472Sopenharmony_ci 3057c804472Sopenharmony_ciprotected: 3067c804472Sopenharmony_ci void RunGet() override; 3077c804472Sopenharmony_ci}; 3087c804472Sopenharmony_ci 3097c804472Sopenharmony_ciclass LocationCommand : public CommandLine { 3107c804472Sopenharmony_cipublic: 3117c804472Sopenharmony_ci LocationCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3127c804472Sopenharmony_ci ~LocationCommand() override {} 3137c804472Sopenharmony_ci void RunSet() override; 3147c804472Sopenharmony_ci 3157c804472Sopenharmony_ciprotected: 3167c804472Sopenharmony_ci void RunGet() override; 3177c804472Sopenharmony_ci bool IsSetArgValid() const override; 3187c804472Sopenharmony_ci}; 3197c804472Sopenharmony_ci 3207c804472Sopenharmony_ciclass DistributedCommunicationsCommand : public CommandLine { 3217c804472Sopenharmony_cipublic: 3227c804472Sopenharmony_ci DistributedCommunicationsCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3237c804472Sopenharmony_ci ~DistributedCommunicationsCommand() override {} 3247c804472Sopenharmony_ci 3257c804472Sopenharmony_ciprotected: 3267c804472Sopenharmony_ci void RunAction() override; 3277c804472Sopenharmony_ci bool IsActionArgValid() const override; 3287c804472Sopenharmony_ci std::vector<char> StringToCharVector(std::string str) const; 3297c804472Sopenharmony_ci}; 3307c804472Sopenharmony_ci 3317c804472Sopenharmony_ciclass KeepScreenOnStateCommand : public CommandLine { 3327c804472Sopenharmony_cipublic: 3337c804472Sopenharmony_ci KeepScreenOnStateCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3347c804472Sopenharmony_ci ~KeepScreenOnStateCommand() override {} 3357c804472Sopenharmony_ci void RunSet() override; 3367c804472Sopenharmony_ci 3377c804472Sopenharmony_ciprotected: 3387c804472Sopenharmony_ci void RunGet() override; 3397c804472Sopenharmony_ci bool IsSetArgValid() const override; 3407c804472Sopenharmony_ci}; 3417c804472Sopenharmony_ci 3427c804472Sopenharmony_ciclass WearingStateCommand : public CommandLine { 3437c804472Sopenharmony_cipublic: 3447c804472Sopenharmony_ci WearingStateCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3457c804472Sopenharmony_ci ~WearingStateCommand() override {} 3467c804472Sopenharmony_ci void RunSet() override; 3477c804472Sopenharmony_ci 3487c804472Sopenharmony_ciprotected: 3497c804472Sopenharmony_ci void RunGet() override; 3507c804472Sopenharmony_ci bool IsSetArgValid() const override; 3517c804472Sopenharmony_ci}; 3527c804472Sopenharmony_ci 3537c804472Sopenharmony_ciclass BrightnessModeCommand : public CommandLine { 3547c804472Sopenharmony_cipublic: 3557c804472Sopenharmony_ci BrightnessModeCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3567c804472Sopenharmony_ci ~BrightnessModeCommand() override {} 3577c804472Sopenharmony_ci void RunSet() override; 3587c804472Sopenharmony_ci 3597c804472Sopenharmony_ciprotected: 3607c804472Sopenharmony_ci void RunGet() override; 3617c804472Sopenharmony_ci bool IsSetArgValid() const override; 3627c804472Sopenharmony_ci}; 3637c804472Sopenharmony_ci 3647c804472Sopenharmony_ciclass ChargeModeCommand : public CommandLine { 3657c804472Sopenharmony_cipublic: 3667c804472Sopenharmony_ci ChargeModeCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3677c804472Sopenharmony_ci ~ChargeModeCommand() override {} 3687c804472Sopenharmony_ci void RunSet() override; 3697c804472Sopenharmony_ci 3707c804472Sopenharmony_ciprotected: 3717c804472Sopenharmony_ci void RunGet() override; 3727c804472Sopenharmony_ci bool IsSetArgValid() const override; 3737c804472Sopenharmony_ci}; 3747c804472Sopenharmony_ci 3757c804472Sopenharmony_ciclass BrightnessCommand : public CommandLine { 3767c804472Sopenharmony_cipublic: 3777c804472Sopenharmony_ci BrightnessCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3787c804472Sopenharmony_ci ~BrightnessCommand() override {} 3797c804472Sopenharmony_ci void RunSet() override; 3807c804472Sopenharmony_ci 3817c804472Sopenharmony_ciprotected: 3827c804472Sopenharmony_ci void RunGet() override; 3837c804472Sopenharmony_ci bool IsSetArgValid() const override; 3847c804472Sopenharmony_ci}; 3857c804472Sopenharmony_ci 3867c804472Sopenharmony_ciclass HeartRateCommand : public CommandLine { 3877c804472Sopenharmony_cipublic: 3887c804472Sopenharmony_ci HeartRateCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 3897c804472Sopenharmony_ci ~HeartRateCommand() override {} 3907c804472Sopenharmony_ci void RunSet() override; 3917c804472Sopenharmony_ci 3927c804472Sopenharmony_ciprotected: 3937c804472Sopenharmony_ci void RunGet() override; 3947c804472Sopenharmony_ci bool IsSetArgValid() const override; 3957c804472Sopenharmony_ci}; 3967c804472Sopenharmony_ci 3977c804472Sopenharmony_ciclass StepCountCommand : public CommandLine { 3987c804472Sopenharmony_cipublic: 3997c804472Sopenharmony_ci StepCountCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4007c804472Sopenharmony_ci ~StepCountCommand() override {} 4017c804472Sopenharmony_ci void RunSet() override; 4027c804472Sopenharmony_ci 4037c804472Sopenharmony_ciprotected: 4047c804472Sopenharmony_ci void RunGet() override; 4057c804472Sopenharmony_ci bool IsSetArgValid() const override; 4067c804472Sopenharmony_ci}; 4077c804472Sopenharmony_ci 4087c804472Sopenharmony_ciclass ExitCommand : public CommandLine { 4097c804472Sopenharmony_cipublic: 4107c804472Sopenharmony_ci ExitCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4117c804472Sopenharmony_ci ~ExitCommand() override {} 4127c804472Sopenharmony_ci 4137c804472Sopenharmony_ciprotected: 4147c804472Sopenharmony_ci void RunAction() override; 4157c804472Sopenharmony_ci}; 4167c804472Sopenharmony_ci 4177c804472Sopenharmony_ciclass InspectorJSONTree : public CommandLine { 4187c804472Sopenharmony_cipublic: 4197c804472Sopenharmony_ci InspectorJSONTree(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4207c804472Sopenharmony_ci ~InspectorJSONTree() override {} 4217c804472Sopenharmony_ci 4227c804472Sopenharmony_ciprotected: 4237c804472Sopenharmony_ci void RunAction() override; 4247c804472Sopenharmony_ci}; 4257c804472Sopenharmony_ci 4267c804472Sopenharmony_ciclass InspectorDefault : public CommandLine { 4277c804472Sopenharmony_cipublic: 4287c804472Sopenharmony_ci InspectorDefault(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4297c804472Sopenharmony_ci ~InspectorDefault() override {} 4307c804472Sopenharmony_ci 4317c804472Sopenharmony_ciprotected: 4327c804472Sopenharmony_ci void RunAction() override; 4337c804472Sopenharmony_ci}; 4347c804472Sopenharmony_ci 4357c804472Sopenharmony_ciclass DeviceTypeCommand : public CommandLine { 4367c804472Sopenharmony_cipublic: 4377c804472Sopenharmony_ci DeviceTypeCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4387c804472Sopenharmony_ci ~DeviceTypeCommand() override {} 4397c804472Sopenharmony_ci 4407c804472Sopenharmony_ciprotected: 4417c804472Sopenharmony_ci void RunSet() override; 4427c804472Sopenharmony_ci}; 4437c804472Sopenharmony_ci 4447c804472Sopenharmony_ciclass ResolutionCommand : public CommandLine { 4457c804472Sopenharmony_cipublic: 4467c804472Sopenharmony_ci ResolutionCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4477c804472Sopenharmony_ci ~ResolutionCommand() override {} 4487c804472Sopenharmony_ci 4497c804472Sopenharmony_ciprotected: 4507c804472Sopenharmony_ci void RunSet() override; 4517c804472Sopenharmony_ci}; 4527c804472Sopenharmony_ci 4537c804472Sopenharmony_ciclass FastPreviewMsgCommand : public CommandLine { 4547c804472Sopenharmony_cipublic: 4557c804472Sopenharmony_ci FastPreviewMsgCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4567c804472Sopenharmony_ci ~FastPreviewMsgCommand() override {} 4577c804472Sopenharmony_ci 4587c804472Sopenharmony_ciprotected: 4597c804472Sopenharmony_ci void RunGet() override; 4607c804472Sopenharmony_ci}; 4617c804472Sopenharmony_ci 4627c804472Sopenharmony_ciclass DropFrameCommand : public CommandLine { 4637c804472Sopenharmony_cipublic: 4647c804472Sopenharmony_ci DropFrameCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4657c804472Sopenharmony_ci ~DropFrameCommand() override {} 4667c804472Sopenharmony_ci void RunSet() override; 4677c804472Sopenharmony_ci 4687c804472Sopenharmony_ciprotected: 4697c804472Sopenharmony_ci bool IsSetArgValid() const override; 4707c804472Sopenharmony_ci}; 4717c804472Sopenharmony_ci 4727c804472Sopenharmony_ciclass KeyPressCommand : public CommandLine { 4737c804472Sopenharmony_cipublic: 4747c804472Sopenharmony_ci KeyPressCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4757c804472Sopenharmony_ci ~KeyPressCommand() override {} 4767c804472Sopenharmony_ci 4777c804472Sopenharmony_ciprotected: 4787c804472Sopenharmony_ci void RunAction() override; 4797c804472Sopenharmony_ci bool IsActionArgValid() const override; 4807c804472Sopenharmony_ci bool IsImeArgsValid() const; 4817c804472Sopenharmony_ci bool IsKeyArgsValid() const; 4827c804472Sopenharmony_ci}; 4837c804472Sopenharmony_ci 4847c804472Sopenharmony_ciclass PointEventCommand : public CommandLine, public TouchAndMouseCommand { 4857c804472Sopenharmony_cipublic: 4867c804472Sopenharmony_ci PointEventCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4877c804472Sopenharmony_ci ~PointEventCommand() override {} 4887c804472Sopenharmony_ci 4897c804472Sopenharmony_ciprotected: 4907c804472Sopenharmony_ci void RunAction() override; 4917c804472Sopenharmony_ci bool IsActionArgValid() const override; 4927c804472Sopenharmony_ci bool IsArgsExist() const; 4937c804472Sopenharmony_ci bool IsArgsValid() const; 4947c804472Sopenharmony_ci}; 4957c804472Sopenharmony_ci 4967c804472Sopenharmony_ciclass FoldStatusCommand : public CommandLine { 4977c804472Sopenharmony_cipublic: 4987c804472Sopenharmony_ci FoldStatusCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 4997c804472Sopenharmony_ci ~FoldStatusCommand() override {} 5007c804472Sopenharmony_ci 5017c804472Sopenharmony_ciprotected: 5027c804472Sopenharmony_ci void RunSet() override; 5037c804472Sopenharmony_ci bool IsSetArgValid() const override; 5047c804472Sopenharmony_ci}; 5057c804472Sopenharmony_ci 5067c804472Sopenharmony_ciclass AvoidAreaCommand : public CommandLine { 5077c804472Sopenharmony_cipublic: 5087c804472Sopenharmony_ci AvoidAreaCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 5097c804472Sopenharmony_ci ~AvoidAreaCommand() override {} 5107c804472Sopenharmony_ci 5117c804472Sopenharmony_ciprotected: 5127c804472Sopenharmony_ci void RunSet() override; 5137c804472Sopenharmony_ci bool IsSetArgValid() const override; 5147c804472Sopenharmony_ci bool IsObjectValid(const Json2::Value& val) const; 5157c804472Sopenharmony_ci}; 5167c804472Sopenharmony_ci 5177c804472Sopenharmony_ciclass AvoidAreaChangedCommand : public CommandLine { 5187c804472Sopenharmony_cipublic: 5197c804472Sopenharmony_ci AvoidAreaChangedCommand(CommandType commandType, const Json2::Value& arg, const LocalSocket& socket); 5207c804472Sopenharmony_ci ~AvoidAreaChangedCommand() override {} 5217c804472Sopenharmony_ci 5227c804472Sopenharmony_ciprotected: 5237c804472Sopenharmony_ci void RunGet() override; 5247c804472Sopenharmony_ci}; 5257c804472Sopenharmony_ci#endif // COMMANDLINE_H 526