1020a203aSopenharmony_ci/*
2020a203aSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
3020a203aSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4020a203aSopenharmony_ci * you may not use this file except in compliance with the License.
5020a203aSopenharmony_ci * You may obtain a copy of the License at
6020a203aSopenharmony_ci *
7020a203aSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8020a203aSopenharmony_ci *
9020a203aSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10020a203aSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11020a203aSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12020a203aSopenharmony_ci * See the License for the specific language governing permissions and
13020a203aSopenharmony_ci * limitations under the License.
14020a203aSopenharmony_ci */
15020a203aSopenharmony_ci#ifndef FAULT_LEVEL_THREAD_HOLD_H
16020a203aSopenharmony_ci#define FAULT_LEVEL_THREAD_HOLD_H
17020a203aSopenharmony_ci
18020a203aSopenharmony_ci#include <string>
19020a203aSopenharmony_ci#include <climits>
20020a203aSopenharmony_ci
21020a203aSopenharmony_cinamespace OHOS {
22020a203aSopenharmony_cinamespace HiviewDFX {
23020a203aSopenharmony_ciconst int DEFAULT_LEVEL_A = UINT_MAX;
24020a203aSopenharmony_ciconst int DEFAULT_LEVEL_B = UINT_MAX;
25020a203aSopenharmony_ciconst int DEFAULT_LEVEL_C = UINT_MAX;
26020a203aSopenharmony_ciconst std::string DEFAULT_COMMENT = "";
27020a203aSopenharmony_ciconst int DEFAULT_DUMP_BITMAP = 0;
28020a203aSopenharmony_ci
29020a203aSopenharmony_cistruct FaultLevelThreshold {
30020a203aSopenharmony_ci    unsigned int levelA{UINT_MAX}; /* A standard --total time span,0-invalid,unit:ms */
31020a203aSopenharmony_ci    unsigned int levelB{UINT_MAX}; /* B standard --total time span,0-invalid,unit:ms */
32020a203aSopenharmony_ci    unsigned int levelC{UINT_MAX}; /* C standard --total time span,0-invalid,unit:ms */
33020a203aSopenharmony_ci    unsigned int dumpBitmap{DEFAULT_DUMP_BITMAP};
34020a203aSopenharmony_ci    std::string comment{DEFAULT_COMMENT};
35020a203aSopenharmony_ci    FaultLevelThreshold()
36020a203aSopenharmony_ci    {
37020a203aSopenharmony_ci        this->levelA = DEFAULT_LEVEL_A;
38020a203aSopenharmony_ci        this->levelB = DEFAULT_LEVEL_B;
39020a203aSopenharmony_ci        this->levelC = DEFAULT_LEVEL_C;
40020a203aSopenharmony_ci        this->comment = DEFAULT_COMMENT;
41020a203aSopenharmony_ci        this->dumpBitmap = DEFAULT_DUMP_BITMAP;
42020a203aSopenharmony_ci    }
43020a203aSopenharmony_ci    FaultLevelThreshold(const FaultLevelThreshold& faultLevelThreshold)
44020a203aSopenharmony_ci    {
45020a203aSopenharmony_ci        this->levelA = faultLevelThreshold.levelA;
46020a203aSopenharmony_ci        this->levelB = faultLevelThreshold.levelB;
47020a203aSopenharmony_ci        this->levelC = faultLevelThreshold.levelC;
48020a203aSopenharmony_ci        this->comment = faultLevelThreshold.comment;
49020a203aSopenharmony_ci        this->dumpBitmap = faultLevelThreshold.dumpBitmap;
50020a203aSopenharmony_ci    }
51020a203aSopenharmony_ci    FaultLevelThreshold& operator=(const FaultLevelThreshold& faultLevelThreshold)
52020a203aSopenharmony_ci    {
53020a203aSopenharmony_ci        this->levelA = faultLevelThreshold.levelA;
54020a203aSopenharmony_ci        this->levelB = faultLevelThreshold.levelB;
55020a203aSopenharmony_ci        this->levelC = faultLevelThreshold.levelC;
56020a203aSopenharmony_ci        this->comment = faultLevelThreshold.comment;
57020a203aSopenharmony_ci        this->dumpBitmap = faultLevelThreshold.dumpBitmap;
58020a203aSopenharmony_ci        return *this;
59020a203aSopenharmony_ci    }
60020a203aSopenharmony_ci};
61020a203aSopenharmony_ci} // HiviewDFX
62020a203aSopenharmony_ci} // OHOS
63020a203aSopenharmony_ci#endif