1 /* 2 * Copyright (c) 2024 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 "ohos_nweb/bridge/ark_web_adsblock_manager_wrapper.h" 17 18 #include "base/bridge/ark_web_bridge_macros.h" 19 20 namespace OHOS::ArkWeb { 21 ArkWebAdsBlockManagerWrapper(ArkWebRefPtr<ArkWebAdsBlockManager> ark_web_adsblock_manager)22ArkWebAdsBlockManagerWrapper::ArkWebAdsBlockManagerWrapper(ArkWebRefPtr<ArkWebAdsBlockManager> ark_web_adsblock_manager) 23 : ark_web_adsblock_manager_(ark_web_adsblock_manager) 24 {} 25 SetAdsBlockRules(const std::string & rulesFile,bool replace)26void ArkWebAdsBlockManagerWrapper::SetAdsBlockRules(const std::string& rulesFile, bool replace) 27 { 28 ArkWebString stRulesFile = ArkWebStringClassToStruct(rulesFile); 29 30 ark_web_adsblock_manager_->SetAdsBlockRules(stRulesFile, replace); 31 32 ArkWebStringStructRelease(stRulesFile); 33 } 34 AddAdsBlockDisallowedList(const std::vector<std::string> & domainSuffixes)35void ArkWebAdsBlockManagerWrapper::AddAdsBlockDisallowedList(const std::vector<std::string>& domainSuffixes) 36 { 37 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 38 39 ark_web_adsblock_manager_->AddAdsBlockDisallowedList(stDomainSuffixes); 40 41 ArkWebStringVectorStructRelease(stDomainSuffixes); 42 } 43 RemoveAdsBlockDisallowedList(const std::vector<std::string> & domainSuffixes)44void ArkWebAdsBlockManagerWrapper::RemoveAdsBlockDisallowedList(const std::vector<std::string>& domainSuffixes) 45 { 46 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 47 48 ark_web_adsblock_manager_->RemoveAdsBlockDisallowedList(stDomainSuffixes); 49 50 ArkWebStringVectorStructRelease(stDomainSuffixes); 51 } 52 ClearAdsBlockDisallowedList()53void ArkWebAdsBlockManagerWrapper::ClearAdsBlockDisallowedList() 54 { 55 ark_web_adsblock_manager_->ClearAdsBlockDisallowedList(); 56 } 57 AddAdsBlockAllowedList(const std::vector<std::string> & domainSuffixes)58void ArkWebAdsBlockManagerWrapper::AddAdsBlockAllowedList(const std::vector<std::string>& domainSuffixes) 59 { 60 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 61 62 ark_web_adsblock_manager_->AddAdsBlockAllowedList(stDomainSuffixes); 63 64 ArkWebStringVectorStructRelease(stDomainSuffixes); 65 } 66 RemoveAdsBlockAllowedList(const std::vector<std::string> & domainSuffixes)67void ArkWebAdsBlockManagerWrapper::RemoveAdsBlockAllowedList(const std::vector<std::string>& domainSuffixes) 68 { 69 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 70 71 ark_web_adsblock_manager_->RemoveAdsBlockAllowedList(stDomainSuffixes); 72 73 ArkWebStringVectorStructRelease(stDomainSuffixes); 74 } 75 ClearAdsBlockAllowedList()76void ArkWebAdsBlockManagerWrapper::ClearAdsBlockAllowedList() 77 { 78 ark_web_adsblock_manager_->ClearAdsBlockAllowedList(); 79 } 80 81 } // namespace OHOS::ArkWeb 82