• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "ability_context.h"
17 
18 #include <cstring>
19 #include "hilog_wrapper.h"
20 
21 namespace OHOS {
22 namespace AbilityRuntime {
GetConfiguration()23 std::shared_ptr<AppExecFwk::Configuration> AbilityContext::GetConfiguration()
24 {
25     return stageContext_ ? stageContext_->GetConfiguration() : nullptr;
26 }
27 
GetApplicationInfo() const28 std::shared_ptr<AppExecFwk::ApplicationInfo> AbilityContext::GetApplicationInfo() const
29 {
30     return stageContext_ ? stageContext_->GetApplicationInfo() : nullptr;
31 }
32 
GetHapModuleInfo() const33 std::shared_ptr<AppExecFwk::HapModuleInfo> AbilityContext::GetHapModuleInfo() const
34 {
35     return stageContext_ ? stageContext_->GetHapModuleInfo() : nullptr;
36 }
37 
GetAbilityInfo() const38 std::shared_ptr<AppExecFwk::AbilityInfo> AbilityContext::GetAbilityInfo() const
39 {
40     return abilityInfo_;
41 }
42 
GetOptions()43 Options AbilityContext::GetOptions()
44 {
45     return options_;
46 }
47 
SetOptions(const Options & options)48 void AbilityContext::SetOptions(const Options &options)
49 {
50     options_ = options;
51     abilityInfo_ = std::make_shared<AppExecFwk::AbilityInfo>(options.abilityInfo);
52     if (abilityInfo_ != nullptr) {
53         abilityInfo_->bundleName = options_.bundleName;
54         abilityInfo_->moduleName = options_.moduleName;
55     }
56 
57     HILOG_DEBUG("Options.bundleName: %{public}s", options.bundleName.c_str());
58     HILOG_DEBUG("Options.moduleName: %{public}s", options.moduleName.c_str());
59     HILOG_DEBUG("Options.modulePath: %{public}s", options.modulePath.c_str());
60     HILOG_DEBUG("Options.resourcePath: %{public}s", options.resourcePath.c_str());
61     HILOG_DEBUG("Options.debugPort: %{public}d", options.debugPort);
62     HILOG_DEBUG("Options.assetPath: %{public}s", options.assetPath.c_str());
63     HILOG_DEBUG("Options.systemResourcePath: %{public}s", options.systemResourcePath.c_str());
64     HILOG_DEBUG("Options.appResourcePath: %{public}s", options.appResourcePath.c_str());
65     HILOG_DEBUG("Options.containerSdkPath: %{public}s", options.containerSdkPath.c_str());
66     HILOG_DEBUG("Options.url: %{public}s", options.url.c_str());
67     HILOG_DEBUG("Options.language: %{public}s", options.language.c_str());
68     HILOG_DEBUG("Options.region: %{public}s", options.region.c_str());
69     HILOG_DEBUG("Options.script: %{public}s", options.script.c_str());
70     HILOG_DEBUG("Options.themeId: %{public}d", options.themeId);
71     HILOG_DEBUG("Options.deviceWidth: %{public}d", options.deviceWidth);
72     HILOG_DEBUG("Options.deviceHeight: %{public}d", options.deviceHeight);
73     HILOG_DEBUG("Options.isRound: %{public}d", options.themeId);
74     HILOG_DEBUG("Options.compatibleVersion: %{public}d", options.compatibleVersion);
75     HILOG_DEBUG("Options.installationFree: %{public}d", options.installationFree);
76     HILOG_DEBUG("Options.labelId: %{public}d", options.labelId);
77     HILOG_DEBUG("Options.compileMode: %{public}s", options.compileMode.c_str());
78     HILOG_DEBUG("Options.pageProfile: %{public}s", options.pageProfile.c_str());
79     HILOG_DEBUG("Options.targetVersion: %{public}d", options.targetVersion);
80     HILOG_DEBUG("Options.releaseType: %{public}s", options.releaseType.c_str());
81     HILOG_DEBUG("Options.enablePartialUpdate: %{public}d", options.enablePartialUpdate);
82 }
83 
GetBundleName()84 std::string AbilityContext::GetBundleName()
85 {
86     return stageContext_ ? stageContext_->GetBundleName() : "";
87 }
88 
GetBundleCodePath()89 std::string AbilityContext::GetBundleCodePath()
90 {
91     return stageContext_ ? stageContext_->GetBundleCodePath() : "";
92 }
93 
GetBundleCodeDir()94 std::string AbilityContext::GetBundleCodeDir()
95 {
96     return stageContext_ ? stageContext_->GetBundleCodeDir() : "";
97 }
98 
GetCacheDir()99 std::string AbilityContext::GetCacheDir()
100 {
101     return stageContext_ ? stageContext_->GetCacheDir() : "";
102 }
103 
GetTempDir()104 std::string AbilityContext::GetTempDir()
105 {
106     return stageContext_ ? stageContext_->GetTempDir() : "";
107 }
108 
GetFilesDir()109 std::string AbilityContext::GetFilesDir()
110 {
111     return stageContext_ ? stageContext_->GetFilesDir() : "";
112 }
113 
GetDatabaseDir()114 std::string AbilityContext::GetDatabaseDir()
115 {
116     return stageContext_ ? stageContext_->GetDatabaseDir() : "";
117 }
118 
GetPreferencesDir()119 std::string AbilityContext::GetPreferencesDir()
120 {
121     return stageContext_ ? stageContext_->GetPreferencesDir() : "";
122 }
123 
GetDistributedFilesDir()124 std::string AbilityContext::GetDistributedFilesDir()
125 {
126     return stageContext_ ? stageContext_->GetDistributedFilesDir() : "";
127 }
128 
SwitchArea(int mode)129 void AbilityContext::SwitchArea(int mode)
130 {
131     if (stageContext_) {
132         stageContext_->SwitchArea(mode);
133     }
134 }
135 
GetArea()136 int AbilityContext::GetArea()
137 {
138     return stageContext_ ? stageContext_->GetArea() : EL_DEFAULT;
139 }
140 
GetBaseDir()141 std::string AbilityContext::GetBaseDir()
142 {
143     return stageContext_ ? stageContext_->GetBaseDir() : "";
144 }
145 
GetResourceManager() const146 std::shared_ptr<Global::Resource::ResourceManager> AbilityContext::GetResourceManager() const
147 {
148     return resourceMgr_;
149 }
150 
SetResourceManager(const std::shared_ptr<Global::Resource::ResourceManager> & resMgr)151 void AbilityContext::SetResourceManager(const std::shared_ptr<Global::Resource::ResourceManager> &resMgr)
152 {
153     resourceMgr_ = resMgr;
154 }
155 
SetAbilityStageContext(const std::shared_ptr<AbilityStageContext> & stageContext)156 void AbilityContext::SetAbilityStageContext(const std::shared_ptr<AbilityStageContext> &stageContext)
157 {
158     stageContext_ = stageContext;
159 }
160 
IsTerminating()161 bool AbilityContext::IsTerminating()
162 {
163     return isTerminating_;
164 }
165 
SetTerminating(const bool & state)166 void AbilityContext::SetTerminating(const bool &state)
167 {
168     isTerminating_ = state;
169 }
170 
TerminateSelf()171 int32_t AbilityContext::TerminateSelf()
172 {
173     if (simulator_ != nullptr) {
174         simulator_->TerminateAbility(0);
175     }
176     return 0;
177 }
178 
SetSimulator(Simulator * simulator)179 void AbilityContext::SetSimulator(Simulator *simulator)
180 {
181     simulator_ = simulator;
182 }
183 } // namespace AbilityRuntime
184 } // namespace OHOS
185