199552fe9Sopenharmony_ci/*
299552fe9Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
399552fe9Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
499552fe9Sopenharmony_ci * you may not use this file except in compliance with the License.
599552fe9Sopenharmony_ci * You may obtain a copy of the License at
699552fe9Sopenharmony_ci *
799552fe9Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
899552fe9Sopenharmony_ci *
999552fe9Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1099552fe9Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1199552fe9Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1299552fe9Sopenharmony_ci * See the License for the specific language governing permissions and
1399552fe9Sopenharmony_ci * limitations under the License.
1499552fe9Sopenharmony_ci */
1599552fe9Sopenharmony_ci
1699552fe9Sopenharmony_ci#ifndef FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_SERVICES_CORE_INCLUDE_DARK_STATE_H
1799552fe9Sopenharmony_ci#define FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_SERVICES_CORE_INCLUDE_DARK_STATE_H
1899552fe9Sopenharmony_ci
1999552fe9Sopenharmony_ci#include "base_state.h"
2099552fe9Sopenharmony_ci
2199552fe9Sopenharmony_cinamespace OHOS {
2299552fe9Sopenharmony_cinamespace DevStandbyMgr {
2399552fe9Sopenharmony_ciclass IStateManagerAdapter;
2499552fe9Sopenharmony_ciclass DarkState : public BaseState {
2599552fe9Sopenharmony_cipublic:
2699552fe9Sopenharmony_ci    DarkState(uint32_t curState, uint32_t curPhase, const std::shared_ptr<IStateManagerAdapter>& stateManager,
2799552fe9Sopenharmony_ci        std::shared_ptr<AppExecFwk::EventHandler>& handler);
2899552fe9Sopenharmony_ci    ErrCode BeginState() override;
2999552fe9Sopenharmony_ci    ErrCode EndState() override;
3099552fe9Sopenharmony_ci    bool CheckTransitionValid(uint32_t nextState) override;
3199552fe9Sopenharmony_ci    void EndEvalCurrentState(bool evalResult) override;
3299552fe9Sopenharmony_ciprivate:
3399552fe9Sopenharmony_ci    int32_t darkTimeOut_ {0};
3499552fe9Sopenharmony_ci};
3599552fe9Sopenharmony_ci}  // namespace DevStandbyMgr
3699552fe9Sopenharmony_ci}  // namespace OHOS
3799552fe9Sopenharmony_ci#endif  // FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_SERVICES_CORE_INCLUDE_DARK_STATE_H
38