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_APPSWITCH_INPUT_H 17a69a01cdSopenharmony_ci#define TEST_WUKONG_APPSWITCH_INPUT_H 18a69a01cdSopenharmony_ci 19a69a01cdSopenharmony_ci#include <string> 20a69a01cdSopenharmony_ci 21a69a01cdSopenharmony_ci#include "input_action.h" 22a69a01cdSopenharmony_ci#include "special_test_object.h" 23a69a01cdSopenharmony_ci#include "input_msg_object.h" 24a69a01cdSopenharmony_cinamespace OHOS { 25a69a01cdSopenharmony_cinamespace WuKong { 26a69a01cdSopenharmony_ciclass AppswitchInput : public InputAction { 27a69a01cdSopenharmony_cipublic: 28a69a01cdSopenharmony_ci AppswitchInput(); 29a69a01cdSopenharmony_ci ~AppswitchInput(); 30a69a01cdSopenharmony_ci 31a69a01cdSopenharmony_ci ErrCode OrderInput(const std::shared_ptr<SpcialTestObject>& specialTestObject); 32a69a01cdSopenharmony_ci 33a69a01cdSopenharmony_ci /** 34a69a01cdSopenharmony_ci * @brief started up a app by ability. 35a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 36a69a01cdSopenharmony_ci */ 37a69a01cdSopenharmony_ci ErrCode RandomInput(); 38a69a01cdSopenharmony_ci 39a69a01cdSopenharmony_ci /** 40a69a01cdSopenharmony_ci * @brief started up a app by uri and uritype. 41a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 42a69a01cdSopenharmony_ci */ 43a69a01cdSopenharmony_ci ErrCode RandomInput(const std::string &uri, const std::string &uriType); 44a69a01cdSopenharmony_ci 45a69a01cdSopenharmony_ci /** 46a69a01cdSopenharmony_ci * @brief started up a app by uri and ability. 47a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 48a69a01cdSopenharmony_ci */ 49a69a01cdSopenharmony_ci ErrCode RandomInput(const std::string &uri, const std::vector<std::string> &abilityName); 50a69a01cdSopenharmony_ci 51a69a01cdSopenharmony_ci /** 52a69a01cdSopenharmony_ci * @brief started up a app by ability. 53a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 54a69a01cdSopenharmony_ci */ 55a69a01cdSopenharmony_ci ErrCode FocusInput(bool shouldScreenCap); 56a69a01cdSopenharmony_ci 57a69a01cdSopenharmony_ci /** 58a69a01cdSopenharmony_ci * @brief get information of inputted event. 59a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 60a69a01cdSopenharmony_ci */ 61a69a01cdSopenharmony_ci InputType GetInputInfo(); 62a69a01cdSopenharmony_ci 63a69a01cdSopenharmony_ci /** 64a69a01cdSopenharmony_ci * @brief output the information: if the app has started up successfully. 65a69a01cdSopenharmony_ci * @param result 66a69a01cdSopenharmony_ci * @param index bundlelist's index. 67a69a01cdSopenharmony_ci * @return Return ERR_OK on success, others on failure. 68a69a01cdSopenharmony_ci */ 69a69a01cdSopenharmony_ci ErrCode PrintResultOfStartAbility(const ErrCode result, uint32_t index); 70a69a01cdSopenharmony_ci 71a69a01cdSopenharmony_ciprivate: 72a69a01cdSopenharmony_ci /** 73a69a01cdSopenharmony_ci * @brief get ability name index through bundle name index 74a69a01cdSopenharmony_ci * @param bundleList the list of all bundle name 75a69a01cdSopenharmony_ci * @param index index of ability name in ability name list. 76a69a01cdSopenharmony_ci * @return Return ERR_OK on success,others on failure. 77a69a01cdSopenharmony_ci */ 78a69a01cdSopenharmony_ci uint32_t GetAbilityIndex(std::vector<std::string> &bundleList); 79a69a01cdSopenharmony_ci 80a69a01cdSopenharmony_ci std::shared_ptr<InputedMsgObject> inputedMsgObject_; 81a69a01cdSopenharmony_ci}; 82a69a01cdSopenharmony_ci} // namespace WuKong 83a69a01cdSopenharmony_ci} // namespace OHOS 84a69a01cdSopenharmony_ci#endif // TEST_WUKONG_APPSWITCH_INPUT_H 85