1eace7efcSopenharmony_ci/* 2eace7efcSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3eace7efcSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4eace7efcSopenharmony_ci * you may not use this file except in compliance with the License. 5eace7efcSopenharmony_ci * You may obtain a copy of the License at 6eace7efcSopenharmony_ci * 7eace7efcSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8eace7efcSopenharmony_ci * 9eace7efcSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10eace7efcSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11eace7efcSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12eace7efcSopenharmony_ci * See the License for the specific language governing permissions and 13eace7efcSopenharmony_ci * limitations under the License. 14eace7efcSopenharmony_ci */ 15eace7efcSopenharmony_ci 16eace7efcSopenharmony_ci#ifndef OHOS_ABILITY_RUNTIME_TASK_UTILS_WRAP_H 17eace7efcSopenharmony_ci#define OHOS_ABILITY_RUNTIME_TASK_UTILS_WRAP_H 18eace7efcSopenharmony_ci 19eace7efcSopenharmony_ci#include <string> 20eace7efcSopenharmony_cinamespace OHOS { 21eace7efcSopenharmony_cinamespace AAFwk { 22eace7efcSopenharmony_cienum class TaskStatus { 23eace7efcSopenharmony_ci PENDING, 24eace7efcSopenharmony_ci EXECUTING, 25eace7efcSopenharmony_ci FINISHED, 26eace7efcSopenharmony_ci CANCELED 27eace7efcSopenharmony_ci}; 28eace7efcSopenharmony_ci 29eace7efcSopenharmony_cienum class TaskQoS { 30eace7efcSopenharmony_ci INHERENT = 0, 31eace7efcSopenharmony_ci BACKGROUND, 32eace7efcSopenharmony_ci UTILITY, 33eace7efcSopenharmony_ci DEFAULT, 34eace7efcSopenharmony_ci USER_INITIATED, 35eace7efcSopenharmony_ci DEADLINE_REQUEST, 36eace7efcSopenharmony_ci USER_INTERACTIVE 37eace7efcSopenharmony_ci}; 38eace7efcSopenharmony_ci 39eace7efcSopenharmony_cienum class TaskQueuePriority { 40eace7efcSopenharmony_ci IMMEDIATE = 0, 41eace7efcSopenharmony_ci HIGH, 42eace7efcSopenharmony_ci LOW, 43eace7efcSopenharmony_ci IDLE 44eace7efcSopenharmony_ci}; 45eace7efcSopenharmony_ci 46eace7efcSopenharmony_cistruct TaskAttribute { 47eace7efcSopenharmony_ci std::string taskName_; 48eace7efcSopenharmony_ci int64_t delayMillis_ = 0; 49eace7efcSopenharmony_ci TaskQoS taskQos_ = TaskQoS::DEFAULT; 50eace7efcSopenharmony_ci TaskQueuePriority taskPriority_ = TaskQueuePriority::LOW; 51eace7efcSopenharmony_ci 52eace7efcSopenharmony_ci bool IsDefault() const 53eace7efcSopenharmony_ci { 54eace7efcSopenharmony_ci return delayMillis_ <= 0 && taskName_.empty() && taskQos_ == TaskQoS::DEFAULT; 55eace7efcSopenharmony_ci } 56eace7efcSopenharmony_ci}; 57eace7efcSopenharmony_ci} // namespace AAFwk 58eace7efcSopenharmony_ci} // namespace OHOS 59eace7efcSopenharmony_ci 60eace7efcSopenharmony_ci#endif // OHOS_ABILITY_RUNTIME_TASK_UTILS_WRAP_H