1 /*
2 * Copyright (c) 2024 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 "utils/dump_utils.h"
17 
18 namespace OHOS {
19 namespace AAFwk {
DumpMapOne(std::string argString)20 std::pair<bool, DumpUtils::DumpKey> DumpUtils::DumpMapOne(std::string argString)
21 {
22     std::pair<bool, DumpUtils::DumpKey> result(false, KEY_DUMP_ALL);
23 
24     if (argString.compare("-a") == 0 || argString.compare("--all") == 0) {
25         result.first = true;
26         result.second = KEY_DUMP_ALL;
27     } else if (argString.compare("-l") == 0 || argString.compare("--stack-list") == 0) {
28         result.first = true;
29         result.second = KEY_DUMP_STACK_LIST;
30     } else if (argString.compare("-s") == 0 || argString.compare("--stack") == 0) {
31         result.first = true;
32         result.second = KEY_DUMP_STACK;
33     } else if (argString.compare("-m") == 0 || argString.compare("--mission") == 0) {
34         result.first = true;
35         result.second = KEY_DUMP_MISSION;
36     } else if (argString.compare("-t") == 0 || argString.compare("--top") == 0) {
37         result.first = true;
38         result.second = KEY_DUMP_TOP_ABILITY;
39     } else if (argString.compare("-w") == 0 || argString.compare("--waiting-queue") == 0) {
40         result.first = true;
41         result.second = KEY_DUMP_WAIT_QUEUE;
42     } else if (argString.compare("-e") == 0 || argString.compare("--serv") == 0) {
43         result.first = true;
44         result.second = KEY_DUMP_SERVICE;
45     } else if (argString.compare("-d") == 0 || argString.compare("--data") == 0) {
46         result.first = true;
47         result.second = KEY_DUMP_DATA;
48     } else if (argString.compare("-f") == 0 || argString.compare("-focus") == 0) {
49         result.first = true;
50         result.second = KEY_DUMP_FOCUS_ABILITY;
51     }
52     return result;
53 }
54 
DumpMapTwo(std::string argString)55 std::pair<bool, DumpUtils::DumpKey> DumpUtils::DumpMapTwo(std::string argString)
56 {
57     std::pair<bool, DumpUtils::DumpKey> result(false, KEY_DUMP_ALL);
58 
59     if (argString.compare("-z") == 0 || argString.compare("--win-mode") == 0) {
60         result.first = true;
61         result.second = KEY_DUMP_WINDOW_MODE;
62     } else if (argString.compare("-L") == 0 || argString.compare("--mission-list") == 0) {
63         result.first = true;
64         result.second = KEY_DUMP_MISSION_LIST;
65     } else if (argString.compare("-S") == 0 || argString.compare("--mission-infos") == 0) {
66         result.first = true;
67         result.second = KEY_DUMP_MISSION_INFOS;
68     }
69     return result;
70 }
71 
DumpMap(std::string argString)72 std::pair<bool, DumpUtils::DumpKey> DumpUtils::DumpMap(std::string argString)
73 {
74     std::pair<bool, DumpUtils::DumpKey> result(false, KEY_DUMP_ALL);
75 
76     auto dumpMapOne = DumpMapOne(argString);
77     if (dumpMapOne.first) {
78         return dumpMapOne;
79     }
80     auto dumpMapTwo = DumpMapTwo(argString);
81     if (dumpMapTwo.first) {
82         return dumpMapTwo;
83     }
84     return result;
85 }
86 
DumpsysMap(std::string argString)87 std::pair<bool, DumpUtils::DumpsysKey> DumpUtils::DumpsysMap(std::string argString)
88 {
89     std::pair<bool, DumpUtils::DumpsysKey> result(false, KEY_DUMP_SYS_ALL);
90 
91     if (argString.compare("-a") == 0 || argString.compare("--all") == 0) {
92         result.first = true;
93         result.second = KEY_DUMP_SYS_ALL;
94     } else if (argString.compare("-l") == 0 || argString.compare("--mission-list") == 0) {
95         result.first = true;
96         result.second = KEY_DUMP_SYS_MISSION_LIST;
97     } else if (argString.compare("-i") == 0 || argString.compare("--ability") == 0) {
98         result.first = true;
99         result.second = KEY_DUMP_SYS_ABILITY;
100     } else if (argString.compare("-e") == 0 || argString.compare("--extension") == 0) {
101         result.first = true;
102         result.second = KEY_DUMP_SYS_SERVICE;
103     } else if (argString.compare("-p") == 0 || argString.compare("--pending") == 0) {
104         result.first = true;
105         result.second = KEY_DUMP_SYS_PENDING;
106     } else if (argString.compare("-r") == 0 || argString.compare("--process") == 0) {
107         result.first = true;
108         result.second = KEY_DUMP_SYS_PROCESS;
109     } else if (argString.compare("-d") == 0 || argString.compare("--data") == 0) {
110         result.first = true;
111         result.second = KEY_DUMP_SYS_DATA;
112     }
113     return result;
114 }
115 }  // namespace AAFwk
116 }  // namespace OHOS
117