1365d9939Sopenharmony_ci/* 2365d9939Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3365d9939Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4365d9939Sopenharmony_ci * you may not use this file except in compliance with the License. 5365d9939Sopenharmony_ci * You may obtain a copy of the License at 6365d9939Sopenharmony_ci * 7365d9939Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8365d9939Sopenharmony_ci * 9365d9939Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10365d9939Sopenharmony_ci * miscservices under the License is miscservices on an "AS IS" BASIS, 11365d9939Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12365d9939Sopenharmony_ci * See the License for the specific language governing permissions and 13365d9939Sopenharmony_ci * limitations under the License. 14365d9939Sopenharmony_ci */ 15365d9939Sopenharmony_ci 16365d9939Sopenharmony_ci#include "command.h" 17365d9939Sopenharmony_ci 18365d9939Sopenharmony_cinamespace OHOS { 19365d9939Sopenharmony_cinamespace ScreenLock { 20365d9939Sopenharmony_ciCommand::Command(const std::vector<std::string> &argsFormat, const std::string &help, const Command::Action &action) 21365d9939Sopenharmony_ci : format(argsFormat), help(help), action(action) 22365d9939Sopenharmony_ci{ 23365d9939Sopenharmony_ci} 24365d9939Sopenharmony_ci 25365d9939Sopenharmony_ciCommand::Command(const std::vector<std::string> &argsFormat, const std::string &help) : format(argsFormat), help(help) 26365d9939Sopenharmony_ci{ 27365d9939Sopenharmony_ci} 28365d9939Sopenharmony_ci 29365d9939Sopenharmony_cistd::string Command::ShowHelp() 30365d9939Sopenharmony_ci{ 31365d9939Sopenharmony_ci return help; 32365d9939Sopenharmony_ci} 33365d9939Sopenharmony_ci 34365d9939Sopenharmony_cibool Command::DoAction(const std::vector<std::string> &input, std::string &output) 35365d9939Sopenharmony_ci{ 36365d9939Sopenharmony_ci return action(input, output); 37365d9939Sopenharmony_ci} 38365d9939Sopenharmony_ci 39365d9939Sopenharmony_cistd::string Command::GetOption() 40365d9939Sopenharmony_ci{ 41365d9939Sopenharmony_ci return format.at(0); 42365d9939Sopenharmony_ci} 43365d9939Sopenharmony_ci 44365d9939Sopenharmony_cistd::string Command::GetFormat() 45365d9939Sopenharmony_ci{ 46365d9939Sopenharmony_ci std::string formatStr; 47365d9939Sopenharmony_ci for (const auto &seg : format) { 48365d9939Sopenharmony_ci formatStr += seg; 49365d9939Sopenharmony_ci formatStr += " "; 50365d9939Sopenharmony_ci } 51365d9939Sopenharmony_ci return formatStr; 52365d9939Sopenharmony_ci} 53365d9939Sopenharmony_ci} // namespace ScreenLock 54365d9939Sopenharmony_ci} // namespace OHOS