1a69a01cdSopenharmony_ci/* 2a69a01cdSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3a69a01cdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4a69a01cdSopenharmony_ci * you may not use this file except in compliance with the License. 5a69a01cdSopenharmony_ci * You may obtain a copy of the License at 6a69a01cdSopenharmony_ci * 7a69a01cdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8a69a01cdSopenharmony_ci * 9a69a01cdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10a69a01cdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11a69a01cdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12a69a01cdSopenharmony_ci * See the License for the specific language governing permissions and 13a69a01cdSopenharmony_ci * limitations under the License. 14a69a01cdSopenharmony_ci */ 15a69a01cdSopenharmony_ci 16a69a01cdSopenharmony_ci#ifndef TEST_WUKONG_INPUF_MSG_OBJECT_H 17a69a01cdSopenharmony_ci#define TEST_WUKONG_INPUF_MSG_OBJECT_H 18a69a01cdSopenharmony_ci 19a69a01cdSopenharmony_ci#include <iostream> 20a69a01cdSopenharmony_ci#include <map> 21a69a01cdSopenharmony_ci#include <string> 22a69a01cdSopenharmony_ci#include <vector> 23a69a01cdSopenharmony_ci 24a69a01cdSopenharmony_ci#include "input_action.h" 25a69a01cdSopenharmony_ci#include "singleton.h" 26a69a01cdSopenharmony_ci#include "wukong_define.h" 27a69a01cdSopenharmony_ci 28a69a01cdSopenharmony_cinamespace OHOS { 29a69a01cdSopenharmony_cinamespace WuKong { 30a69a01cdSopenharmony_cienum inputedMode { 31a69a01cdSopenharmony_ci multimodeInput = 0, 32a69a01cdSopenharmony_ci componmentInput, 33a69a01cdSopenharmony_ci invalidIput 34a69a01cdSopenharmony_ci}; 35a69a01cdSopenharmony_ciclass InputedMsgObject { 36a69a01cdSopenharmony_cipublic: 37a69a01cdSopenharmony_ci InputedMsgObject(inputedMode inputedMode) 38a69a01cdSopenharmony_ci { 39a69a01cdSopenharmony_ci inputedMode_ = inputedMode; 40a69a01cdSopenharmony_ci } 41a69a01cdSopenharmony_ci 42a69a01cdSopenharmony_ci inputedMode GetInputedMode() 43a69a01cdSopenharmony_ci { 44a69a01cdSopenharmony_ci return inputedMode_; 45a69a01cdSopenharmony_ci } 46a69a01cdSopenharmony_ci virtual ~InputedMsgObject() = default; 47a69a01cdSopenharmony_ci 48a69a01cdSopenharmony_ciprivate: 49a69a01cdSopenharmony_ci inputedMode inputedMode_ = invalidIput; 50a69a01cdSopenharmony_ci}; 51a69a01cdSopenharmony_ci 52a69a01cdSopenharmony_ciclass MultimodeInputMsg : public InputedMsgObject { 53a69a01cdSopenharmony_cipublic: 54a69a01cdSopenharmony_ci MultimodeInputMsg() : InputedMsgObject(multimodeInput) 55a69a01cdSopenharmony_ci { 56a69a01cdSopenharmony_ci } 57a69a01cdSopenharmony_ci std::string GetInputType() 58a69a01cdSopenharmony_ci { 59a69a01cdSopenharmony_ci std::string inputString = ""; 60a69a01cdSopenharmony_ci DEBUG_LOG_STR("inputType{%d}", inputType_); 61a69a01cdSopenharmony_ci switch (inputType_) { 62a69a01cdSopenharmony_ci case INPUTTYPE_TOUCHINPUT: 63a69a01cdSopenharmony_ci /* code */ 64a69a01cdSopenharmony_ci inputString = "touch"; 65a69a01cdSopenharmony_ci break; 66a69a01cdSopenharmony_ci case INPUTTYPE_SWAPINPUT: 67a69a01cdSopenharmony_ci /* code */ 68a69a01cdSopenharmony_ci inputString = "swap"; 69a69a01cdSopenharmony_ci break; 70a69a01cdSopenharmony_ci case INPUTTYPE_MOUSEINPUT: 71a69a01cdSopenharmony_ci /* code */ 72a69a01cdSopenharmony_ci inputString = "mouse"; 73a69a01cdSopenharmony_ci break; 74a69a01cdSopenharmony_ci case INPUTTYPE_KEYBOARDINPUT: 75a69a01cdSopenharmony_ci /* code */ 76a69a01cdSopenharmony_ci inputString = "keyboard"; 77a69a01cdSopenharmony_ci break; 78a69a01cdSopenharmony_ci case INPUTTYPE_APPSWITCHINPUT: 79a69a01cdSopenharmony_ci /* code */ 80a69a01cdSopenharmony_ci inputString = "appswitch"; 81a69a01cdSopenharmony_ci break; 82a69a01cdSopenharmony_ci case INPUTTYPE_HARDKEYINPUT: 83a69a01cdSopenharmony_ci /* code */ 84a69a01cdSopenharmony_ci inputString = "hardkey"; 85a69a01cdSopenharmony_ci break; 86a69a01cdSopenharmony_ci case INPUTTYPE_ROTATEINPUT: 87a69a01cdSopenharmony_ci /* code */ 88a69a01cdSopenharmony_ci inputString = "rotate"; 89a69a01cdSopenharmony_ci break; 90a69a01cdSopenharmony_ci default: 91a69a01cdSopenharmony_ci break; 92a69a01cdSopenharmony_ci } 93a69a01cdSopenharmony_ci return inputString; 94a69a01cdSopenharmony_ci } 95a69a01cdSopenharmony_ci virtual ~MultimodeInputMsg() = default; 96a69a01cdSopenharmony_ci InputType inputType_ = INPUTTYPE_INVALIDINPUT; 97a69a01cdSopenharmony_ci}; 98a69a01cdSopenharmony_ci 99a69a01cdSopenharmony_ciclass ComponmentInputMsg : public InputedMsgObject { 100a69a01cdSopenharmony_cipublic: 101a69a01cdSopenharmony_ci ComponmentInputMsg() : InputedMsgObject(componmentInput) 102a69a01cdSopenharmony_ci { 103a69a01cdSopenharmony_ci } 104a69a01cdSopenharmony_ci virtual ~ComponmentInputMsg() = default; 105a69a01cdSopenharmony_ci std::string componmentType_ = ""; 106a69a01cdSopenharmony_ci uint32_t pageId_ = 0; 107a69a01cdSopenharmony_ci std::vector<std::string> pageComponments; 108a69a01cdSopenharmony_ci std::string pagePath_; 109a69a01cdSopenharmony_ci std::string content_; 110a69a01cdSopenharmony_ci int32_t startX_ = 0; 111a69a01cdSopenharmony_ci int32_t startY_ = 0; 112a69a01cdSopenharmony_ci int32_t endX_ = 0; 113a69a01cdSopenharmony_ci int32_t endY_ = 0; 114a69a01cdSopenharmony_ci int64_t pssTotal_ = 0; 115a69a01cdSopenharmony_ci}; 116a69a01cdSopenharmony_ci} // namespace WuKong 117a69a01cdSopenharmony_ci} // namespace OHOS 118a69a01cdSopenharmony_ci#endif 119