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#ifndef FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_PLUGINS_EXT_INCLUDE_ISTRATEGY_MANAGER_ADAPTER_H
1699552fe9Sopenharmony_ci#define FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_PLUGINS_EXT_INCLUDE_ISTRATEGY_MANAGER_ADAPTER_H
1799552fe9Sopenharmony_ci
1899552fe9Sopenharmony_ci#include <vector>
1999552fe9Sopenharmony_ci#include <memory>
2099552fe9Sopenharmony_ci#include <string>
2199552fe9Sopenharmony_ci#include <set>
2299552fe9Sopenharmony_ci
2399552fe9Sopenharmony_ci#include "ibase_strategy.h"
2499552fe9Sopenharmony_ci#include "standby_service_errors.h"
2599552fe9Sopenharmony_ci
2699552fe9Sopenharmony_cinamespace OHOS {
2799552fe9Sopenharmony_cinamespace DevStandbyMgr {
2899552fe9Sopenharmony_ciclass IStrategyManagerAdapter {
2999552fe9Sopenharmony_cipublic:
3099552fe9Sopenharmony_ci    virtual ~IStrategyManagerAdapter() = default;
3199552fe9Sopenharmony_ci    virtual bool Init() = 0;
3299552fe9Sopenharmony_ci    virtual bool UnInit() = 0;
3399552fe9Sopenharmony_ci    virtual void HandleEvent(const StandbyMessage& message) = 0;
3499552fe9Sopenharmony_ci    virtual void ShellDump(const std::vector<std::string>& argsInStr, std::string& result) = 0;
3599552fe9Sopenharmony_ciprotected:
3699552fe9Sopenharmony_ci    virtual void RegisterPolicy(const std::vector<std::string>& strategies) = 0;
3799552fe9Sopenharmony_ciprotected:
3899552fe9Sopenharmony_ci    std::vector<std::shared_ptr<IBaseStrategy>> strategyList_ {};
3999552fe9Sopenharmony_ci};
4099552fe9Sopenharmony_ci}  // namespace DevStandbyMgr
4199552fe9Sopenharmony_ci}  // namespace OHOS
4299552fe9Sopenharmony_ci#endif  // FOUNDATION_RESOURCESCHEDULE_STANDBY_SERVICE_PLUGINS_EXT_INCLUDE_ISTRATEGY_MANAGER_ADAPTER_H
43