185d2f8c5Sopenharmony_ci/* 285d2f8c5Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 385d2f8c5Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 485d2f8c5Sopenharmony_ci * you may not use this file except in compliance with the License. 585d2f8c5Sopenharmony_ci * You may obtain a copy of the License at 685d2f8c5Sopenharmony_ci * 785d2f8c5Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 885d2f8c5Sopenharmony_ci * 985d2f8c5Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1085d2f8c5Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1185d2f8c5Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1285d2f8c5Sopenharmony_ci * See the License for the specific language governing permissions and 1385d2f8c5Sopenharmony_ci * limitations under the License. 1485d2f8c5Sopenharmony_ci */ 1585d2f8c5Sopenharmony_ci 1685d2f8c5Sopenharmony_ci#ifndef IAM_PARA2STR_H 1785d2f8c5Sopenharmony_ci#define IAM_PARA2STR_H 1885d2f8c5Sopenharmony_ci 1985d2f8c5Sopenharmony_ci#include <iomanip> 2085d2f8c5Sopenharmony_ci#include <map> 2185d2f8c5Sopenharmony_ci#include <sstream> 2285d2f8c5Sopenharmony_ci#include <string> 2385d2f8c5Sopenharmony_ci 2485d2f8c5Sopenharmony_cinamespace OHOS { 2585d2f8c5Sopenharmony_cinamespace UserIam { 2685d2f8c5Sopenharmony_cinamespace Common { 2785d2f8c5Sopenharmony_ciusing namespace std; 2885d2f8c5Sopenharmony_ciconst int32_t MASK_WIDTH = 4; 2985d2f8c5Sopenharmony_cistatic inline std::string GetMaskedString(uint16_t val) 3085d2f8c5Sopenharmony_ci{ 3185d2f8c5Sopenharmony_ci std::ostringstream ss; 3285d2f8c5Sopenharmony_ci ss << "0xXXXX" << std::setfill('0') << std::setw(MASK_WIDTH) << std::hex << val; 3385d2f8c5Sopenharmony_ci return ss.str(); 3485d2f8c5Sopenharmony_ci} 3585d2f8c5Sopenharmony_ci 3685d2f8c5Sopenharmony_ci#define GET_MASKED_STRING(val) OHOS::UserIam::Common::GetMaskedString(static_cast<uint16_t>(val)) 3785d2f8c5Sopenharmony_ci 3885d2f8c5Sopenharmony_cistatic inline std::string GetPointerNullStateString(void *p) 3985d2f8c5Sopenharmony_ci{ 4085d2f8c5Sopenharmony_ci return p == nullptr ? "null" : "non-null"; 4185d2f8c5Sopenharmony_ci} 4285d2f8c5Sopenharmony_ci 4385d2f8c5Sopenharmony_cistatic inline const char *AuthTypeToStr(uint32_t authType) 4485d2f8c5Sopenharmony_ci{ 4585d2f8c5Sopenharmony_ci static std::map<uint32_t, std::string> typeNames = {{0, "All"}, {1, "Pin"}, {2, "Face"}, {4, "Fingerprint"}}; 4685d2f8c5Sopenharmony_ci if (auto iter = typeNames.find(authType); iter != typeNames.end()) { 4785d2f8c5Sopenharmony_ci return iter->second.c_str(); 4885d2f8c5Sopenharmony_ci } 4985d2f8c5Sopenharmony_ci return "unknown"; 5085d2f8c5Sopenharmony_ci} 5185d2f8c5Sopenharmony_ci 5285d2f8c5Sopenharmony_cistatic inline const char *GetBoolStr(bool val) 5385d2f8c5Sopenharmony_ci{ 5485d2f8c5Sopenharmony_ci return val ? "true" : "false"; 5585d2f8c5Sopenharmony_ci} 5685d2f8c5Sopenharmony_ci} // namespace Common 5785d2f8c5Sopenharmony_ci} // namespace UserIam 5885d2f8c5Sopenharmony_ci} // namespace OHOS 5985d2f8c5Sopenharmony_ci 6085d2f8c5Sopenharmony_ci#endif // IAM_PARA2STR_H