188edb362Sopenharmony_ci/* 288edb362Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 388edb362Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 488edb362Sopenharmony_ci * you may not use this file except in compliance with the License. 588edb362Sopenharmony_ci * You may obtain a copy of the License at 688edb362Sopenharmony_ci * 788edb362Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 888edb362Sopenharmony_ci * 988edb362Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1088edb362Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1188edb362Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1288edb362Sopenharmony_ci * See the License for the specific language governing permissions and 1388edb362Sopenharmony_ci * limitations under the License. 1488edb362Sopenharmony_ci */ 1588edb362Sopenharmony_ci 1688edb362Sopenharmony_ci#include <unistd.h> 1788edb362Sopenharmony_ci 1888edb362Sopenharmony_ci#include "if_system_ability_manager.h" 1988edb362Sopenharmony_ci#include "iservice_registry.h" 2088edb362Sopenharmony_ci#include "log/log.h" 2188edb362Sopenharmony_ci#include "module_update_kits.h" 2288edb362Sopenharmony_ci#include "module_update_kits_impl.h" 2388edb362Sopenharmony_ci 2488edb362Sopenharmony_ciusing namespace OHOS; 2588edb362Sopenharmony_ciusing namespace Updater; 2688edb362Sopenharmony_ci 2788edb362Sopenharmony_ciint main() 2888edb362Sopenharmony_ci{ 2988edb362Sopenharmony_ci InitUpdaterLogger("ModuleUpdaterClient", "", "", ""); 3088edb362Sopenharmony_ci sptr<ISystemAbilityManager> samgr = nullptr; 3188edb362Sopenharmony_ci int32_t times = 30; 3288edb362Sopenharmony_ci const int32_t wiat_time_ms = 100 * 1000; 3388edb362Sopenharmony_ci int32_t duration = std::chrono::microseconds(wiat_time_ms).count(); 3488edb362Sopenharmony_ci LOG(INFO) << "waiting for samgr..."; 3588edb362Sopenharmony_ci while (times > 0) { 3688edb362Sopenharmony_ci times--; 3788edb362Sopenharmony_ci samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); 3888edb362Sopenharmony_ci if (samgr == nullptr) { 3988edb362Sopenharmony_ci usleep(duration); 4088edb362Sopenharmony_ci } else { 4188edb362Sopenharmony_ci break; 4288edb362Sopenharmony_ci } 4388edb362Sopenharmony_ci } 4488edb362Sopenharmony_ci 4588edb362Sopenharmony_ci if (samgr == nullptr) { 4688edb362Sopenharmony_ci LOG(ERROR) <<"ModuleUpdateInit wait samgr fail"; 4788edb362Sopenharmony_ci return -1; 4888edb362Sopenharmony_ci } 4988edb362Sopenharmony_ci 5088edb362Sopenharmony_ci int32_t ret = OHOS::SysInstaller::ModuleUpdateKits::GetInstance().InitModuleUpdate(); 5188edb362Sopenharmony_ci LOG(INFO) << "ModuleUpdateInit ret: " << ret; 5288edb362Sopenharmony_ci return ret; 5388edb362Sopenharmony_ci}