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