1 /*
2  * Copyright (c) 2023 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 
16 #include "app_provision_info_manager.h"
17 #include "app_log_wrapper.h"
18 
19 namespace OHOS {
20 namespace AppExecFwk {
AppProvisionInfoManager()21 AppProvisionInfoManager::AppProvisionInfoManager()
22 {
23     AppProvisionInfoManagerDb_ = std::make_shared<AppProvisionInfoManagerRdb>();
24 }
25 
~AppProvisionInfoManager()26 AppProvisionInfoManager::~AppProvisionInfoManager()
27 {}
28 
29 
AddAppProvisionInfo(const std::string & bundleName,const AppProvisionInfo & appProvisionInfo)30 bool AppProvisionInfoManager::AddAppProvisionInfo(const std::string &bundleName,
31     const AppProvisionInfo &appProvisionInfo)
32 {
33     APP_LOGD("AppProvisionInfoManager::AddAppProvisionInfo bundleName: %{public}s", bundleName.c_str());
34     return AppProvisionInfoManagerDb_->AddAppProvisionInfo(bundleName, appProvisionInfo);
35 }
36 
DeleteAppProvisionInfo(const std::string & bundleName)37 bool AppProvisionInfoManager::DeleteAppProvisionInfo(const std::string &bundleName)
38 {
39     APP_LOGD("AppProvisionInfoManager::DeleteAppProvisionInfo bundleName: %{public}s", bundleName.c_str());
40     return AppProvisionInfoManagerDb_->DeleteAppProvisionInfo(bundleName);
41 }
42 
GetAppProvisionInfo(const std::string & bundleName,AppProvisionInfo & appProvisionInfo)43 bool AppProvisionInfoManager::GetAppProvisionInfo(const std::string &bundleName,
44     AppProvisionInfo &appProvisionInfo)
45 {
46     APP_LOGD("AppProvisionInfoManager::GetAppProvisionInfo bundleName: %{public}s", bundleName.c_str());
47     return AppProvisionInfoManagerDb_->GetAppProvisionInfo(bundleName, appProvisionInfo);
48 }
49 
GetAllAppProvisionInfoBundleName(std::unordered_set<std::string> & bundleNames)50 bool AppProvisionInfoManager::GetAllAppProvisionInfoBundleName(std::unordered_set<std::string> &bundleNames)
51 {
52     APP_LOGD("AppProvisionInfoManager::GetAllAppProvisionInfoBundleName");
53     return AppProvisionInfoManagerDb_->GetAllAppProvisionInfoBundleName(bundleNames);
54 }
55 
SetSpecifiedDistributionType(const std::string & bundleName,const std::string & specifiedDistributionType)56 bool AppProvisionInfoManager::SetSpecifiedDistributionType(
57     const std::string &bundleName, const std::string &specifiedDistributionType)
58 {
59     return AppProvisionInfoManagerDb_->SetSpecifiedDistributionType(bundleName, specifiedDistributionType);
60 }
61 
GetSpecifiedDistributionType(const std::string & bundleName,std::string & specifiedDistributionType)62 bool AppProvisionInfoManager::GetSpecifiedDistributionType(
63     const std::string &bundleName, std::string &specifiedDistributionType)
64 {
65     return AppProvisionInfoManagerDb_->GetSpecifiedDistributionType(bundleName, specifiedDistributionType);
66 }
67 
SetAdditionalInfo(const std::string & bundleName,const std::string & additionalInfo)68 bool AppProvisionInfoManager::SetAdditionalInfo(
69     const std::string &bundleName, const std::string &additionalInfo)
70 {
71     return AppProvisionInfoManagerDb_->SetAdditionalInfo(bundleName, additionalInfo);
72 }
73 
GetAdditionalInfo(const std::string & bundleName,std::string & additionalInfo)74 bool AppProvisionInfoManager::GetAdditionalInfo(
75     const std::string &bundleName, std::string &additionalInfo)
76 {
77     return AppProvisionInfoManagerDb_->GetAdditionalInfo(bundleName, additionalInfo);
78 }
79 } // AppExecFwk
80 } // OHOS
81