1f7a47986Sopenharmony_ci/* 2f7a47986Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3f7a47986Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4f7a47986Sopenharmony_ci * you may not use this file except in compliance with the License. 5f7a47986Sopenharmony_ci * You may obtain a copy of the License at 6f7a47986Sopenharmony_ci * 7f7a47986Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8f7a47986Sopenharmony_ci * 9f7a47986Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10f7a47986Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11f7a47986Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12f7a47986Sopenharmony_ci * See the License for the specific language governing permissions and 13f7a47986Sopenharmony_ci * limitations under the License. 14f7a47986Sopenharmony_ci */ 15f7a47986Sopenharmony_ci 16f7a47986Sopenharmony_ci#include "admin.h" 17f7a47986Sopenharmony_ci 18f7a47986Sopenharmony_ci#include "edm_log.h" 19f7a47986Sopenharmony_ci#include "ent_info.h" 20f7a47986Sopenharmony_ci#include "string_ex.h" 21f7a47986Sopenharmony_ci 22f7a47986Sopenharmony_cinamespace OHOS { 23f7a47986Sopenharmony_cinamespace EDM { 24f7a47986Sopenharmony_ciAdmin::Admin(const AppExecFwk::ExtensionAbilityInfo &abilityInfo, AdminType type, const EntInfo &entInfo, 25f7a47986Sopenharmony_ci const std::vector<std::string> &permissions, bool isDebug) 26f7a47986Sopenharmony_ci{ 27f7a47986Sopenharmony_ci adminInfo_.adminType_ = type; 28f7a47986Sopenharmony_ci adminInfo_.entInfo_ = entInfo; 29f7a47986Sopenharmony_ci adminInfo_.permission_ = permissions; 30f7a47986Sopenharmony_ci adminInfo_.packageName_ = abilityInfo.bundleName; 31f7a47986Sopenharmony_ci adminInfo_.className_ = abilityInfo.name; 32f7a47986Sopenharmony_ci adminInfo_.isDebug_ = isDebug; 33f7a47986Sopenharmony_ci} 34f7a47986Sopenharmony_cibool Admin::CheckPermission(const std::string &permission) 35f7a47986Sopenharmony_ci{ 36f7a47986Sopenharmony_ci EDMLOGD("Admin::CheckPermission"); 37f7a47986Sopenharmony_ci return std::any_of(adminInfo_.permission_.begin(), adminInfo_.permission_.end(), 38f7a47986Sopenharmony_ci [&permission](const std::string &item) { return item == permission; }); 39f7a47986Sopenharmony_ci} 40f7a47986Sopenharmony_ci 41f7a47986Sopenharmony_ciAdminType Admin::GetAdminType() 42f7a47986Sopenharmony_ci{ 43f7a47986Sopenharmony_ci return adminInfo_.adminType_; 44f7a47986Sopenharmony_ci} 45f7a47986Sopenharmony_cistd::string Admin::GetParentAdminName() const 46f7a47986Sopenharmony_ci{ 47f7a47986Sopenharmony_ci return adminInfo_.parentAdminName_; 48f7a47986Sopenharmony_ci} 49f7a47986Sopenharmony_ci} // namespace EDM 50f7a47986Sopenharmony_ci} // namespace OHOS