• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "data_center/form_basic_info_mgr.h"
16 
17 #include "fms_log_wrapper.h"
18 #include "form_mgr_errors.h"
19 
20 namespace OHOS {
21 namespace AppExecFwk {
22 const std::string INVALID_VALUE = "";
23 
FormBasicInfoMgr()24 FormBasicInfoMgr::FormBasicInfoMgr()
25 {
26     HILOG_INFO("Create");
27 }
28 
~FormBasicInfoMgr()29 FormBasicInfoMgr::~FormBasicInfoMgr()
30 {
31     HILOG_INFO("Destroy");
32 }
33 
AddFormBasicInfo(const FormBasicInfo & baseInfo)34 void FormBasicInfoMgr::AddFormBasicInfo(const FormBasicInfo &baseInfo)
35 {
36     HILOG_INFO("FormBasicInfoMgr::AddFormBasicInfo");
37     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
38     auto iter = formBasicInfoMap_.find(baseInfo.formId);
39     if (iter != formBasicInfoMap_.end()) {
40         iter->second = baseInfo;
41         return;
42     }
43     formBasicInfoMap_.emplace(baseInfo.formId, baseInfo);
44 }
45 
DeleteFormBasicInfo(int64_t formId)46 void FormBasicInfoMgr::DeleteFormBasicInfo(int64_t formId)
47 {
48     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
49     auto iter = formBasicInfoMap_.find(formId);
50     if (iter != formBasicInfoMap_.end()) {
51         formBasicInfoMap_.erase(iter);
52     }
53 }
54 
ClearFormBasicInfo()55 void FormBasicInfoMgr::ClearFormBasicInfo()
56 {
57     formBasicInfoMap_.clear();
58 }
59 
GetBasicInfoCount() const60 int FormBasicInfoMgr::GetBasicInfoCount() const
61 {
62     return formBasicInfoMap_.size();
63 }
64 
GetBasicInfoByFormId(int64_t formId,FormBasicInfo & basicInfo)65 bool FormBasicInfoMgr::GetBasicInfoByFormId(int64_t formId, FormBasicInfo &basicInfo)
66 {
67     HILOG_DEBUG("get form basic info by formId");
68     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
69     auto iter = formBasicInfoMap_.find(formId);
70     if (iter != formBasicInfoMap_.end()) {
71         HILOG_DEBUG("get form basic info successfully");
72         basicInfo = iter->second;
73         return true;
74     }
75     HILOG_ERROR("form basic info not find");
76     return false;
77 }
78 
GetFormAbilityName(int64_t formId)79 const std::string& FormBasicInfoMgr::GetFormAbilityName(int64_t formId)
80 {
81     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
82     const auto iter = formBasicInfoMap_.find(formId);
83     if (iter != formBasicInfoMap_.end()) {
84         return iter->second.abilityName;
85     }
86     return INVALID_VALUE;
87 }
88 
GetFormBundleName(int64_t formId)89 const std::string& FormBasicInfoMgr::GetFormBundleName(int64_t formId)
90 {
91     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
92     const auto iter = formBasicInfoMap_.find(formId);
93     if (iter != formBasicInfoMap_.end()) {
94         return iter->second.bundleName;
95     }
96     return INVALID_VALUE;
97 }
98 
GetFormModuleName(int64_t formId)99 const std::string& FormBasicInfoMgr::GetFormModuleName(int64_t formId)
100 {
101     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
102     const auto iter = formBasicInfoMap_.find(formId);
103     if (iter != formBasicInfoMap_.end()) {
104         return iter->second.moduleName;
105     }
106     return INVALID_VALUE;
107 }
108 
GetFormName(int64_t formId)109 const std::string& FormBasicInfoMgr::GetFormName(int64_t formId)
110 {
111     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
112     const auto iter = formBasicInfoMap_.find(formId);
113     if (iter != formBasicInfoMap_.end()) {
114         return iter->second.formName;
115     }
116     return INVALID_VALUE;
117 }
118 
GetFormPackageName(int64_t formId)119 const std::string& FormBasicInfoMgr::GetFormPackageName(int64_t formId)
120 {
121     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
122     const auto iter = formBasicInfoMap_.find(formId);
123     if (iter != formBasicInfoMap_.end()) {
124         return iter->second.packageName;
125     }
126     return INVALID_VALUE;
127 }
128 
UpdateAbilityName(int64_t formId,const std::string & abilityName)129 void FormBasicInfoMgr::UpdateAbilityName(int64_t formId, const std::string &abilityName)
130 {
131     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
132     const auto iter = formBasicInfoMap_.find(formId);
133     if (iter != formBasicInfoMap_.end()) {
134         iter->second.abilityName = abilityName;
135     }
136 }
137 
UpdateBundleName(int64_t formId,const std::string & bundleName)138 void FormBasicInfoMgr::UpdateBundleName(int64_t formId, const std::string &bundleName)
139 {
140     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
141     const auto iter = formBasicInfoMap_.find(formId);
142     if (iter != formBasicInfoMap_.end()) {
143         iter->second.bundleName = bundleName;
144     }
145 }
146 
UpdateModuleName(int64_t formId,const std::string & moduleName)147 void FormBasicInfoMgr::UpdateModuleName(int64_t formId, const std::string &moduleName)
148 {
149     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
150     const auto iter = formBasicInfoMap_.find(formId);
151     if (iter != formBasicInfoMap_.end()) {
152         iter->second.moduleName = moduleName;
153     }
154 }
155 
UpdateFormName(int64_t formId,const std::string & formName)156 void FormBasicInfoMgr::UpdateFormName(int64_t formId, const std::string &formName)
157 {
158     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
159     const auto iter = formBasicInfoMap_.find(formId);
160     if (iter != formBasicInfoMap_.end()) {
161         iter->second.formName = formName;
162     }
163 }
164 
UpdatePackageName(int64_t formId,const std::string & packageName)165 void FormBasicInfoMgr::UpdatePackageName(int64_t formId, const std::string &packageName)
166 {
167     std::lock_guard<std::mutex> lock(formBasicInfoMutex_);
168     const auto iter = formBasicInfoMap_.find(formId);
169     if (iter != formBasicInfoMap_.end()) {
170         iter->second.packageName = packageName;
171     }
172 }
173 }  // namespace AppExecFwk
174 }  // namespace OHOS
175