1 /*
2  * Copyright (c) 2020 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_mgr_context.h"
17 #include "ability_mission_stack.h"
18 #include "util/abilityms_helper.h"
19 
20 namespace OHOS {
AbilityMgrContext()21 AbilityMgrContext::AbilityMgrContext()
22 {
23     launcherMissionStacks_ = new AbilityMissionStack(LAUNCHER);
24     defaultMissionStacks_ = new AbilityMissionStack(DEFAULT);
25     serviceConnects_ = new AbilityConnectMission();
26 }
27 
~AbilityMgrContext()28 AbilityMgrContext::~AbilityMgrContext()
29 {
30     delete launcherMissionStacks_;
31     launcherMissionStacks_ = nullptr;
32     delete defaultMissionStacks_;
33     defaultMissionStacks_ = nullptr;
34     delete serviceConnects_;
35     serviceConnects_ = nullptr;
36     topMissionStacks_ = nullptr;
37 }
38 
GetLauncherMissionStacks() const39 const AbilityMissionStack *AbilityMgrContext::GetLauncherMissionStacks() const
40 {
41     return launcherMissionStacks_;
42 }
43 
GetDefaultMissionStacks() const44 const AbilityMissionStack *AbilityMgrContext::GetDefaultMissionStacks() const
45 {
46     return defaultMissionStacks_;
47 }
48 
GetTopMissionStacks() const49 const AbilityMissionStack *AbilityMgrContext::GetTopMissionStacks() const
50 {
51     return topMissionStacks_;
52 }
53 
GetTargetMissionStack(const char * bundleName) const54 const AbilityMissionStack *AbilityMgrContext::GetTargetMissionStack(const char *bundleName) const
55 {
56     if (AbilityMsHelper::IsLauncherAbility(bundleName)) {
57         return launcherMissionStacks_;
58     }
59     return defaultMissionStacks_;
60 }
61 
SetTopMissionStacks(const AbilityMissionStack * stack)62 void AbilityMgrContext::SetTopMissionStacks(const AbilityMissionStack *stack)
63 {
64     topMissionStacks_ = stack;
65 }
66 
GetServiceConnects() const67 const AbilityConnectMission *AbilityMgrContext::GetServiceConnects() const
68 {
69     return serviceConnects_;
70 }
71 }  // namespace OHOS
72