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( 23 ArkWebRefPtr<ArkWebAdsBlockManager> ark_web_adsblock_manager) 24 : ark_web_adsblock_manager_(ark_web_adsblock_manager) { 25 } 26 SetAdsBlockRules(const std::string & rulesFile,bool replace)27void ArkWebAdsBlockManagerWrapper::SetAdsBlockRules(const std::string &rulesFile, bool replace) { 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 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 37 38 ark_web_adsblock_manager_->AddAdsBlockDisallowedList(stDomainSuffixes); 39 40 ArkWebStringVectorStructRelease(stDomainSuffixes); 41 } 42 RemoveAdsBlockDisallowedList(const std::vector<std::string> & domainSuffixes)43void ArkWebAdsBlockManagerWrapper::RemoveAdsBlockDisallowedList(const std::vector<std::string> &domainSuffixes) { 44 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 45 46 ark_web_adsblock_manager_->RemoveAdsBlockDisallowedList(stDomainSuffixes); 47 48 ArkWebStringVectorStructRelease(stDomainSuffixes); 49 } 50 ClearAdsBlockDisallowedList()51void ArkWebAdsBlockManagerWrapper::ClearAdsBlockDisallowedList() { 52 ark_web_adsblock_manager_->ClearAdsBlockDisallowedList(); 53 } 54 AddAdsBlockAllowedList(const std::vector<std::string> & domainSuffixes)55void ArkWebAdsBlockManagerWrapper::AddAdsBlockAllowedList(const std::vector<std::string> &domainSuffixes) { 56 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 57 58 ark_web_adsblock_manager_->AddAdsBlockAllowedList(stDomainSuffixes); 59 60 ArkWebStringVectorStructRelease(stDomainSuffixes); 61 } 62 RemoveAdsBlockAllowedList(const std::vector<std::string> & domainSuffixes)63void ArkWebAdsBlockManagerWrapper::RemoveAdsBlockAllowedList(const std::vector<std::string> &domainSuffixes) { 64 ArkWebStringVector stDomainSuffixes = ArkWebStringVectorClassToStruct(domainSuffixes); 65 66 ark_web_adsblock_manager_->RemoveAdsBlockAllowedList(stDomainSuffixes); 67 68 ArkWebStringVectorStructRelease(stDomainSuffixes); 69 } 70 ClearAdsBlockAllowedList()71void ArkWebAdsBlockManagerWrapper::ClearAdsBlockAllowedList() { 72 ark_web_adsblock_manager_->ClearAdsBlockAllowedList(); 73 } 74 75 } // namespace OHOS::ArkWeb 76