1c7afe287Sopenharmony_ci/*
2c7afe287Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3c7afe287Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4c7afe287Sopenharmony_ci * you may not use this file except in compliance with the License.
5c7afe287Sopenharmony_ci * You may obtain a copy of the License at
6c7afe287Sopenharmony_ci *
7c7afe287Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8c7afe287Sopenharmony_ci *
9c7afe287Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10c7afe287Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11c7afe287Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12c7afe287Sopenharmony_ci * See the License for the specific language governing permissions and
13c7afe287Sopenharmony_ci * limitations under the License.
14c7afe287Sopenharmony_ci */
15c7afe287Sopenharmony_ci
16c7afe287Sopenharmony_ci#include "oaid_death_recipient.h"
17c7afe287Sopenharmony_ci
18c7afe287Sopenharmony_ci#include "bundle_mgr_helper.h"
19c7afe287Sopenharmony_ci#include "singleton.h"
20c7afe287Sopenharmony_ci#include "oaid_common.h"
21c7afe287Sopenharmony_ci
22c7afe287Sopenharmony_cinamespace OHOS {
23c7afe287Sopenharmony_cinamespace Cloud {
24c7afe287Sopenharmony_civoid OAIDDeathRecipient::OnRemoteDied(const wptr<IRemoteObject> &wptrDeath)
25c7afe287Sopenharmony_ci{
26c7afe287Sopenharmony_ci    OAID_HILOGI(OAID_MODULE_SERVICE, "bundle mgr service died, remove the proxy object");
27c7afe287Sopenharmony_ci
28c7afe287Sopenharmony_ci    if (wptrDeath == nullptr) {
29c7afe287Sopenharmony_ci        OAID_HILOGE(OAID_MODULE_SERVICE, "wptrDeath is null");
30c7afe287Sopenharmony_ci        return;
31c7afe287Sopenharmony_ci    }
32c7afe287Sopenharmony_ci
33c7afe287Sopenharmony_ci    sptr<IRemoteObject> object = wptrDeath.promote();
34c7afe287Sopenharmony_ci    if (!object) {
35c7afe287Sopenharmony_ci        OAID_HILOGE(OAID_MODULE_SERVICE, "object is null");
36c7afe287Sopenharmony_ci        return;
37c7afe287Sopenharmony_ci    }
38c7afe287Sopenharmony_ci
39c7afe287Sopenharmony_ci    DelayedSingleton<BundleMgrHelper>::GetInstance()->ClearBundleMgrHelper();
40c7afe287Sopenharmony_ci}
41c7afe287Sopenharmony_ci}  // namespace Cloud
42c7afe287Sopenharmony_ci}  // namespace OHOS