1190978c3Sopenharmony_ci/* 2190978c3Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3190978c3Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4190978c3Sopenharmony_ci * you may not use this file except in compliance with the License. 5190978c3Sopenharmony_ci * You may obtain a copy of the License at 6190978c3Sopenharmony_ci * 7190978c3Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8190978c3Sopenharmony_ci * 9190978c3Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10190978c3Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11190978c3Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12190978c3Sopenharmony_ci * See the License for the specific language governing permissions and 13190978c3Sopenharmony_ci * limitations under the License. 14190978c3Sopenharmony_ci */ 15190978c3Sopenharmony_ci 16190978c3Sopenharmony_ci#include "firmware_access.h" 17190978c3Sopenharmony_ci 18190978c3Sopenharmony_ci#include "access_manager.h" 19190978c3Sopenharmony_ci#include "firmware_manager.h" 20190978c3Sopenharmony_ci#include "update_log.h" 21190978c3Sopenharmony_ci 22190978c3Sopenharmony_cinamespace OHOS { 23190978c3Sopenharmony_cinamespace UpdateEngine { 24190978c3Sopenharmony_ciFirmwareAccess::FirmwareAccess() 25190978c3Sopenharmony_ci{ 26190978c3Sopenharmony_ci ENGINE_LOGD("FirmwareAccess constructor"); 27190978c3Sopenharmony_ci} 28190978c3Sopenharmony_ci 29190978c3Sopenharmony_ciFirmwareAccess::~FirmwareAccess() 30190978c3Sopenharmony_ci{ 31190978c3Sopenharmony_ci ENGINE_LOGD("FirmwareAccess deConstructor"); 32190978c3Sopenharmony_ci} 33190978c3Sopenharmony_ci 34190978c3Sopenharmony_civoid FirmwareAccess::Init(StartupReason startupReason) 35190978c3Sopenharmony_ci{ 36190978c3Sopenharmony_ci ENGINE_LOGI("FirmwareAccess Init"); 37190978c3Sopenharmony_ci DelayedSingleton<FirmwareManager>::GetInstance()->Init(startupReason); 38190978c3Sopenharmony_ci DelayedSingleton<AccessManager>::GetInstance()->Register( 39190978c3Sopenharmony_ci AccessType::FIRMWARE, DelayedSingleton<FirmwareAccess>::GetInstance()); 40190978c3Sopenharmony_ci} 41190978c3Sopenharmony_ci 42190978c3Sopenharmony_cibool FirmwareAccess::IsIdle() 43190978c3Sopenharmony_ci{ 44190978c3Sopenharmony_ci return DelayedSingleton<FirmwareManager>::GetInstance()->IsIdle(); 45190978c3Sopenharmony_ci} 46190978c3Sopenharmony_ci 47190978c3Sopenharmony_cistd::vector<ScheduleTask> FirmwareAccess::GetScheduleTasks() 48190978c3Sopenharmony_ci{ 49190978c3Sopenharmony_ci return DelayedSingleton<FirmwareManager>::GetInstance()->GetScheduleTasks(); 50190978c3Sopenharmony_ci} 51190978c3Sopenharmony_ci 52190978c3Sopenharmony_cibool FirmwareAccess::Exit() 53190978c3Sopenharmony_ci{ 54190978c3Sopenharmony_ci return DelayedSingleton<FirmwareManager>::GetInstance()->Exit(); 55190978c3Sopenharmony_ci} 56190978c3Sopenharmony_ci} // namespace UpdateEngine 57190978c3Sopenharmony_ci} // namespace OHOS