1 /* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "stream_installer_manager_helper.h" 17 18 #include "log/log.h" 19 #include "stream_update.h" 20 #include "utils.h" 21 22 namespace OHOS { 23 namespace SysInstaller { 24 using namespace Hpackage; 25 using namespace Updater; 26 SysInstallerInit()27int32_t StreamInstallerManagerHelper::SysInstallerInit() 28 { 29 LOG(INFO) << "SysInstallerInit"; 30 31 if (statusManager_ == nullptr) { 32 statusManager_ = std::make_shared<StreamStatusManager>(); 33 } 34 statusManager_->Init(); 35 StreamInstallProcesser::GetInstance().SetStatusManager(statusManager_); 36 37 return 0; 38 } 39 StartStreamUpdate()40int32_t StreamInstallerManagerHelper::StartStreamUpdate() 41 { 42 LOG(INFO) << "StartStreamUpdate start"; 43 if (statusManager_ == nullptr) { 44 LOG(ERROR) << "statusManager_ nullptr"; 45 return -1; 46 } 47 if (StreamInstallProcesser::GetInstance().IsRunning()) { 48 LOG(ERROR) << "StreamInstallProcesser IsRunning"; 49 return -1; 50 } 51 if (StreamInstallProcesser::GetInstance().Start() == -1) { 52 LOG(ERROR) << "StreamInstallProcesser start fail"; 53 return -1; 54 } 55 return 0; 56 } 57 StopStreamUpdate()58int32_t StreamInstallerManagerHelper::StopStreamUpdate() 59 { 60 LOG(INFO) << "StopStreamUpdate enter"; 61 if (statusManager_ == nullptr) { 62 LOG(ERROR) << "statusManager_ nullptr"; 63 return -1; 64 } 65 if (!StreamInstallProcesser::GetInstance().IsRunning()) { 66 LOG(ERROR) << "StreamInstallProcesser is not Running"; 67 return -1; 68 } 69 StreamInstallProcesser::GetInstance().Stop(); 70 return 0; 71 } 72 ProcessStreamData(const uint8_t * buffer,uint32_t size)73int32_t StreamInstallerManagerHelper::ProcessStreamData(const uint8_t *buffer, uint32_t size) 74 { 75 return StreamInstallProcesser::GetInstance().ProcessStreamData(buffer, size); 76 } 77 SetUpdateCallback(const sptr<ISysInstallerCallback> & updateCallback)78int32_t StreamInstallerManagerHelper::SetUpdateCallback(const sptr<ISysInstallerCallback> &updateCallback) 79 { 80 if (statusManager_ == nullptr) { 81 LOG(ERROR) << "statusManager_ nullptr"; 82 return -1; 83 } 84 return statusManager_->SetUpdateCallback(updateCallback); 85 } 86 GetUpdateStatus()87int32_t StreamInstallerManagerHelper::GetUpdateStatus() 88 { 89 if (statusManager_ == nullptr) { 90 LOG(ERROR) << "statusManager_ nullptr"; 91 return -1; 92 } 93 return statusManager_->GetUpdateStatus(); 94 } 95 96 } // namespace SysInstaller 97 } // namespace OHOS 98