1a69a01cdSopenharmony_ci/* 2a69a01cdSopenharmony_ci * @Description: 3a69a01cdSopenharmony_ci * @Date: 2022-05-15 18:49:26 4a69a01cdSopenharmony_ci * @LastEditTime: 2022-05-15 19:49:06 5a69a01cdSopenharmony_ci * @FilePath: /wukong/report/include/input_info.h 6a69a01cdSopenharmony_ci * @author: lemon 7a69a01cdSopenharmony_ci */ 8a69a01cdSopenharmony_ci/* 9a69a01cdSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 10a69a01cdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 11a69a01cdSopenharmony_ci * you may not use this file except in compliance with the License. 12a69a01cdSopenharmony_ci * You may obtain a copy of the License at 13a69a01cdSopenharmony_ci * 14a69a01cdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 15a69a01cdSopenharmony_ci * 16a69a01cdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 17a69a01cdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 18a69a01cdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19a69a01cdSopenharmony_ci * See the License for the specific language governing permissions and 20a69a01cdSopenharmony_ci * limitations under the License. 21a69a01cdSopenharmony_ci */ 22a69a01cdSopenharmony_ci 23a69a01cdSopenharmony_ci#ifndef TEST_WUKONG_INPUF_INFO_H 24a69a01cdSopenharmony_ci#define TEST_WUKONG_INPUF_INFO_H 25a69a01cdSopenharmony_ci 26a69a01cdSopenharmony_ci#include <iostream> 27a69a01cdSopenharmony_ci#include <map> 28a69a01cdSopenharmony_ci#include <string> 29a69a01cdSopenharmony_ci#include <vector> 30a69a01cdSopenharmony_ci 31a69a01cdSopenharmony_ci#include "input_action.h" 32a69a01cdSopenharmony_ci#include "report.h" 33a69a01cdSopenharmony_ci#include "singleton.h" 34a69a01cdSopenharmony_ci 35a69a01cdSopenharmony_cinamespace OHOS { 36a69a01cdSopenharmony_cinamespace WuKong { 37a69a01cdSopenharmony_ciclass InputInfo final : public DelayedSingleton<InputInfo> { 38a69a01cdSopenharmony_ci DECLARE_DELAYED_SINGLETON(InputInfo) 39a69a01cdSopenharmony_ci friend class Report; 40a69a01cdSopenharmony_cipublic: 41a69a01cdSopenharmony_ci void SetBundleName(const std::string &bundleName); 42a69a01cdSopenharmony_ci void SetAbilityName(const std::string &abilityName); 43a69a01cdSopenharmony_ci void SetInputType(InputType inputType); 44a69a01cdSopenharmony_ci void SetComponmentName(const std::string &componmentName); 45a69a01cdSopenharmony_ci void SetComponmentInputedTimes(int componmentInputedTimes); 46a69a01cdSopenharmony_ci void SetComponmentTotals(int componmentTotals); 47a69a01cdSopenharmony_ciprivate: 48a69a01cdSopenharmony_ci std::string GetBundleName(); 49a69a01cdSopenharmony_ci std::string GetAbilityName(); 50a69a01cdSopenharmony_ci std::string GetComponmentName(); 51a69a01cdSopenharmony_ci std::string GetComponmentInputedTimes(); 52a69a01cdSopenharmony_ci std::string GetComponmentTotals(); 53a69a01cdSopenharmony_ci void reset(); 54a69a01cdSopenharmony_ci /* 55a69a01cdSopenharmony_ci * @brief update current conponment statistics 56a69a01cdSopenharmony_ci * @param componmentStatistics in order mean componment type, input times, total componment 57a69a01cdSopenharmony_ci * @return 58a69a01cdSopenharmony_ci */ 59a69a01cdSopenharmony_ci std::string InputTypeToString(); 60a69a01cdSopenharmony_ci 61a69a01cdSopenharmony_ci std::string bundleName_; 62a69a01cdSopenharmony_ci std::string abilityName_; 63a69a01cdSopenharmony_ci InputType inputType_; 64a69a01cdSopenharmony_ci std::string componmentName_; 65a69a01cdSopenharmony_ci int componmentInputedTimes_; 66a69a01cdSopenharmony_ci int componmentTotals_; 67a69a01cdSopenharmony_ci}; 68a69a01cdSopenharmony_ci} // namespace WuKong 69a69a01cdSopenharmony_ci} // namespace OHOS 70a69a01cdSopenharmony_ci 71a69a01cdSopenharmony_ci#endif