1/*
2 * Copyright (C) 2022 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 "accessibility_ability_info.h"
17#include "hilog_wrapper.h"
18
19namespace OHOS {
20namespace Accessibility {
21AccessibilityAbilityInfo::AccessibilityAbilityInfo(const AccessibilityAbilityInitParams &initParams)
22{
23    HILOG_DEBUG();
24
25    name_ = initParams.name;
26    rationale_ = initParams.rationale;
27    bundleName_ = initParams.bundleName;
28    moduleName_ = initParams.moduleName;
29    description_ = initParams.description;
30    label_ = initParams.label;
31    staticCapabilities_ = initParams.staticCapabilities;
32    settingsAbility_ = initParams.settingsAbility;
33    abilityTypes_ = initParams.abilityTypes;
34    isImportant_ = initParams.isImportant;
35    needHide_ = initParams.needHide;
36
37    HILOG_DEBUG("ability name:[%{public}s], bundle name:[%{public}s], module name:[%{public}s],"
38        "capabilities:[%{public}d], rationale:[%{public}s], settingsAbility:[%{public}s],"
39        "abilityTypes:[%{public}d], isImportant:[%{public}d], needHide:[%{public}d]",
40        name_.c_str(), bundleName_.c_str(), moduleName_.c_str(), capabilities_,
41        rationale_.c_str(), settingsAbility_.c_str(), abilityTypes_, isImportant_, needHide_);
42}
43
44uint32_t AccessibilityAbilityInfo::GetAccessibilityAbilityType()
45{
46    HILOG_DEBUG("types(%{public}d)start.", abilityTypes_);
47    return abilityTypes_;
48}
49
50uint32_t AccessibilityAbilityInfo::GetCapabilityValues() const
51{
52    HILOG_DEBUG();
53    return capabilities_;
54}
55
56uint32_t AccessibilityAbilityInfo::GetStaticCapabilityValues() const
57{
58    HILOG_DEBUG("staticCapabilities(%{public}d).", staticCapabilities_);
59    return staticCapabilities_;
60}
61
62const std::string &AccessibilityAbilityInfo::GetDescription() const
63{
64    HILOG_DEBUG();
65    return description_;
66}
67
68uint32_t AccessibilityAbilityInfo::GetEventTypes()
69{
70    HILOG_DEBUG();
71    return eventTypes_;
72}
73
74std::string AccessibilityAbilityInfo::GetId() const
75{
76    HILOG_DEBUG();
77    return bundleName_ + "/" + name_;
78}
79
80const std::string &AccessibilityAbilityInfo::GetName() const
81{
82    HILOG_DEBUG();
83    return name_;
84}
85
86const std::string &AccessibilityAbilityInfo::GetPackageName() const
87{
88    HILOG_DEBUG();
89    return bundleName_;
90}
91
92const std::string &AccessibilityAbilityInfo::GetModuleName() const
93{
94    HILOG_DEBUG();
95    return moduleName_;
96}
97
98void AccessibilityAbilityInfo::SetPackageName(const std::string &bundleName)
99{
100    HILOG_DEBUG();
101    bundleName_ = bundleName;
102}
103
104const std::vector<std::string> &AccessibilityAbilityInfo::GetFilterBundleNames() const
105{
106    HILOG_DEBUG();
107    return targetBundleNames_;
108}
109
110const std::string &AccessibilityAbilityInfo::GetSettingsAbility() const
111{
112    HILOG_DEBUG();
113    return settingsAbility_;
114}
115
116bool AccessibilityAbilityInfo::IsImportant() const
117{
118    HILOG_DEBUG();
119    return false;
120}
121
122bool AccessibilityAbilityInfo::NeedHide() const
123{
124    HILOG_DEBUG();
125    return needHide_;
126}
127
128const std::string &AccessibilityAbilityInfo::GetLabel() const
129{
130    HILOG_DEBUG();
131    return label_;
132}
133} // namespace Accessibility
134} // namespace OHOS