15fede72eSopenharmony_ci/*
25fede72eSopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd.
35fede72eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
45fede72eSopenharmony_ci * you may not use this file except in compliance with the License.
55fede72eSopenharmony_ci * You may obtain a copy of the License at
65fede72eSopenharmony_ci *
75fede72eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
85fede72eSopenharmony_ci *
95fede72eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
105fede72eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
115fede72eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125fede72eSopenharmony_ci * See the License for the specific language governing permissions and
135fede72eSopenharmony_ci * limitations under the License.
145fede72eSopenharmony_ci */
155fede72eSopenharmony_ci
165fede72eSopenharmony_ci#ifndef OHOS_NATIVE_BASE_H
175fede72eSopenharmony_ci#define OHOS_NATIVE_BASE_H
185fede72eSopenharmony_ci
195fede72eSopenharmony_ci#include <components/ui_view_group.h>
205fede72eSopenharmony_ci
215fede72eSopenharmony_cinamespace OHOS {
225fede72eSopenharmony_ciclass NativeBase : public HeapBase {
235fede72eSopenharmony_cipublic:
245fede72eSopenharmony_ci    NativeBase() {}
255fede72eSopenharmony_ci    virtual ~NativeBase() {}
265fede72eSopenharmony_ci    void DeleteChildren(UIView *view)
275fede72eSopenharmony_ci    {
285fede72eSopenharmony_ci        if (view == nullptr) {
295fede72eSopenharmony_ci            return;
305fede72eSopenharmony_ci        }
315fede72eSopenharmony_ci        while (view) {
325fede72eSopenharmony_ci            UIView *tempView = view;
335fede72eSopenharmony_ci            view = view->GetNextSibling();
345fede72eSopenharmony_ci            if (tempView->IsViewGroup()) {
355fede72eSopenharmony_ci                DeleteChildren(static_cast<UIViewGroup *>(tempView)->GetChildrenHead());
365fede72eSopenharmony_ci            }
375fede72eSopenharmony_ci            if (tempView->GetParent()) {
385fede72eSopenharmony_ci                static_cast<UIViewGroup *>(tempView->GetParent())->Remove(tempView);
395fede72eSopenharmony_ci            }
405fede72eSopenharmony_ci            delete tempView;
415fede72eSopenharmony_ci        }
425fede72eSopenharmony_ci    }
435fede72eSopenharmony_ci};
445fede72eSopenharmony_ci} // namespace OHOS
455fede72eSopenharmony_ci#endif