| LEFT | RIGHT | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-present eyeo GmbH | 3  * Copyright (C) 2006-present eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 31 #include "../filter/ElemHideException.h" | 31 #include "../filter/ElemHideException.h" | 
| 32 #include "../filter/ElemHideEmulationFilter.h" | 32 #include "../filter/ElemHideEmulationFilter.h" | 
| 33 #include "../subscription/Subscription.h" | 33 #include "../subscription/Subscription.h" | 
| 34 #include "../subscription/DownloadableSubscription.h" | 34 #include "../subscription/DownloadableSubscription.h" | 
| 35 #include "../subscription/UserDefinedSubscription.h" | 35 #include "../subscription/UserDefinedSubscription.h" | 
| 36 #include "../storage/FilterStorage.h" | 36 #include "../storage/FilterStorage.h" | 
| 37 #include "../ElemHide.h" | 37 #include "../ElemHide.h" | 
| 38 #include "../ElemHideEmulation.h" | 38 #include "../ElemHideEmulation.h" | 
| 39 #include "../FilterNotifier.h" | 39 #include "../FilterNotifier.h" | 
| 40 | 40 | 
|  | 41 ABP_NS_USING | 
|  | 42 | 
| 41 int main() | 43 int main() | 
| 42 { | 44 { | 
| 43   try | 45   try | 
| 44   { | 46   { | 
| 45     class_<Filter>("Filter") | 47     class_<Filter>("Filter") | 
| 46         .property("text", &Filter::GetText) | 48         .property("text", &Filter::GetText) | 
| 47         .function("serialize", &Filter::Serialize) | 49         .function("serialize", &Filter::Serialize) | 
| 48         .class_function("fromText", &Filter::FromText) | 50         .class_function("fromText", &Filter::FromText) | 
| 49         .subclass_differentiator(&Filter::mType, { | 51         .subclass_differentiator(&Filter::mType, { | 
| 50           {Filter::Type::INVALID, "InvalidFilter"}, | 52           {Filter::Type::INVALID, "InvalidFilter"}, | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 69         .property("lastHit", &ActiveFilter::GetLastHit, &ActiveFilter::SetLastHi
     t) | 71         .property("lastHit", &ActiveFilter::GetLastHit, &ActiveFilter::SetLastHi
     t) | 
| 70         .function("isActiveOnDomain", &ActiveFilter::IsActiveOnDomain) | 72         .function("isActiveOnDomain", &ActiveFilter::IsActiveOnDomain) | 
| 71         .function("isActiveOnlyOnDomain", &ActiveFilter::IsActiveOnlyOnDomain) | 73         .function("isActiveOnlyOnDomain", &ActiveFilter::IsActiveOnlyOnDomain) | 
| 72         .function("isGeneric", &ActiveFilter::IsGeneric) | 74         .function("isGeneric", &ActiveFilter::IsGeneric) | 
| 73         .function("serialize", &ActiveFilter::Serialize); | 75         .function("serialize", &ActiveFilter::Serialize); | 
| 74 | 76 | 
| 75     class_<RegExpFilter,ActiveFilter>("RegExpFilter") | 77     class_<RegExpFilter,ActiveFilter>("RegExpFilter") | 
| 76         .function("matches", &RegExpFilter::Matches); | 78         .function("matches", &RegExpFilter::Matches); | 
| 77 | 79 | 
| 78     class_<BlockingFilter,RegExpFilter>("BlockingFilter") | 80     class_<BlockingFilter,RegExpFilter>("BlockingFilter") | 
| 79         .class_property("type", "'blocking'"); | 81         .class_property("type", "'blocking'") | 
|  | 82         .property("collapse", &BlockingFilter::GetCollapse); | 
|  | 83 | 
| 80 | 84 | 
| 81     class_<WhitelistFilter,RegExpFilter>("WhitelistFilter") | 85     class_<WhitelistFilter,RegExpFilter>("WhitelistFilter") | 
| 82         .class_property("type", "'whitelist'"); | 86         .class_property("type", "'whitelist'"); | 
| 83 | 87 | 
| 84     class_<ElemHideBase,ActiveFilter>("ElemHideBase") | 88     class_<ElemHideBase,ActiveFilter>("ElemHideBase") | 
| 85         .property("selector", &ElemHideBase::GetSelector) | 89         .property("selector", &ElemHideBase::GetSelector) | 
| 86         .property("selectorDomain", &ElemHideBase::GetSelectorDomain); | 90         .property("selectorDomain", &ElemHideBase::GetSelectorDomain); | 
| 87 | 91 | 
| 88     class_<ElemHideFilter,ElemHideBase>("ElemHideFilter") | 92     class_<ElemHideFilter,ElemHideBase>("ElemHideFilter") | 
| 89         .class_property("type", "'elemhide'"); | 93         .class_property("type", "'elemhide'"); | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 124         .property("lastCheck", &DownloadableSubscription::GetLastCheck, &Downloa
     dableSubscription::SetLastCheck) | 128         .property("lastCheck", &DownloadableSubscription::GetLastCheck, &Downloa
     dableSubscription::SetLastCheck) | 
| 125         .property("hardExpiration", &DownloadableSubscription::GetHardExpiration
     , &DownloadableSubscription::SetHardExpiration) | 129         .property("hardExpiration", &DownloadableSubscription::GetHardExpiration
     , &DownloadableSubscription::SetHardExpiration) | 
| 126         .property("softExpiration", &DownloadableSubscription::GetSoftExpiration
     , &DownloadableSubscription::SetSoftExpiration) | 130         .property("softExpiration", &DownloadableSubscription::GetSoftExpiration
     , &DownloadableSubscription::SetSoftExpiration) | 
| 127         .property("lastDownload", &DownloadableSubscription::GetLastDownload, &D
     ownloadableSubscription::SetLastDownload) | 131         .property("lastDownload", &DownloadableSubscription::GetLastDownload, &D
     ownloadableSubscription::SetLastDownload) | 
| 128         .property("downloadStatus", &DownloadableSubscription::GetDownloadStatus
     , &DownloadableSubscription::SetDownloadStatus) | 132         .property("downloadStatus", &DownloadableSubscription::GetDownloadStatus
     , &DownloadableSubscription::SetDownloadStatus) | 
| 129         .property("lastSuccess", &DownloadableSubscription::GetLastSuccess, &Dow
     nloadableSubscription::SetLastSuccess) | 133         .property("lastSuccess", &DownloadableSubscription::GetLastSuccess, &Dow
     nloadableSubscription::SetLastSuccess) | 
| 130         .property("errorCount", &DownloadableSubscription::GetErrorCount, &Downl
     oadableSubscription::SetErrorCount) | 134         .property("errorCount", &DownloadableSubscription::GetErrorCount, &Downl
     oadableSubscription::SetErrorCount) | 
| 131         .property("dataRevision", &DownloadableSubscription::GetDataRevision, &D
     ownloadableSubscription::SetDataRevision) | 135         .property("dataRevision", &DownloadableSubscription::GetDataRevision, &D
     ownloadableSubscription::SetDataRevision) | 
| 132         .property("requiredVersion", &DownloadableSubscription::GetRequiredVersi
     on, &DownloadableSubscription::SetRequiredVersion) | 136         .property("requiredVersion", &DownloadableSubscription::GetRequiredVersi
     on, &DownloadableSubscription::SetRequiredVersion) | 
| 133         .property("downloadCount", &DownloadableSubscription::GetDownloadCount, 
     &DownloadableSubscription::SetDownloadCount) | 137         .property("downloadCount", &DownloadableSubscription::GetDownloadCount, 
     &DownloadableSubscription::SetDownloadCount) | 
| 134         .function("parseDownload", &DownloadableSubscription::ParseDownload) | 138         .class_function("parseDownload", &DownloadableSubscription::ParseDownloa
     d) | 
| 135         .function("serialize", &DownloadableSubscription::Serialize); | 139         .function("serialize", &DownloadableSubscription::Serialize); | 
| 136 | 140 | 
| 137     class_<_DownloadableSubscription_Parser>("_DownloadableSubscription_Parser") | 141     class_<DownloadableSubscription_Parser>("DownloadableSubscription_Parser") | 
| 138         .property("redirect", &_DownloadableSubscription_Parser::GetRedirect) | 142         .property("redirect", &DownloadableSubscription_Parser::GetRedirect) | 
| 139         .property("homepage", &_DownloadableSubscription_Parser::GetHomepage) | 143         .property("homepage", &DownloadableSubscription_Parser::GetHomepage) | 
| 140         .function("process", &_DownloadableSubscription_Parser::Process) | 144         .function("process", &DownloadableSubscription_Parser::Process) | 
| 141         .function("finalize", &_DownloadableSubscription_Parser::Finalize); | 145         .function("finalize", &DownloadableSubscription_Parser::Finalize); | 
| 142 | 146 | 
| 143     singleton<FilterStorage>("FilterStorage", &FilterStorage::GetInstance) | 147     singleton<FilterStorage>("FilterStorage", &FilterStorage::GetInstance) | 
| 144         .property("subscriptionCount", &FilterStorage::GetSubscriptionCount) | 148         .property("subscriptionCount", &FilterStorage::GetSubscriptionCount) | 
| 145         .function("subscriptionAt", &FilterStorage::SubscriptionAt) | 149         .function("subscriptionAt", &FilterStorage::SubscriptionAt) | 
| 146         .function("indexOfSubscription", &FilterStorage::IndexOfSubscription) | 150         .function("indexOfSubscription", &FilterStorage::IndexOfSubscription) | 
| 147         .function("getSubscriptionForFilter", &FilterStorage::GetSubscriptionFor
     Filter) | 151         .function("getSubscriptionForFilter", &FilterStorage::GetSubscriptionFor
     Filter) | 
| 148         .function("addSubscription", &FilterStorage::AddSubscription) | 152         .function("addSubscription", &FilterStorage::AddSubscription) | 
| 149         .function("removeSubscription", &FilterStorage::RemoveSubscription) | 153         .function("removeSubscription", &FilterStorage::RemoveSubscription) | 
| 150         .function("moveSubscription", &FilterStorage::MoveSubscription); | 154         .function("moveSubscription", &FilterStorage::MoveSubscription) | 
|  | 155         .function("clearSubscriptionFilters", &FilterStorage::ClearSubscriptionF
     ilters); | 
| 151 | 156 | 
| 152     class_<_ElemHide_SelectorList>("_ElemHide_SelectorList") | 157     class_<ElemHide_SelectorList>("ElemHide_SelectorList") | 
| 153         .property("selectorCount", &_ElemHide_SelectorList::GetSelectorCount) | 158         .property("selectorCount", &ElemHide_SelectorList::GetSelectorCount) | 
| 154         .function("selectorAt", &_ElemHide_SelectorList::SelectorAt) | 159         .function("selectorAt", &ElemHide_SelectorList::SelectorAt) | 
| 155         .function("filterKeyAt", &_ElemHide_SelectorList::FilterKeyAt); | 160         .function("filterKeyAt", &ElemHide_SelectorList::FilterKeyAt); | 
| 156 | 161 | 
| 157     singleton<ElemHide>("ElemHide", &ElemHide::GetInstance) | 162     class_<ElemHide>("ElemHide") | 
|  | 163         .class_function("create", &ElemHide::Create) | 
| 158         .function("add", &ElemHide::Add) | 164         .function("add", &ElemHide::Add) | 
| 159         .function("remove", &ElemHide::Remove) | 165         .function("remove", &ElemHide::Remove) | 
| 160         .function("clear", &ElemHide::Clear) | 166         .function("clear", &ElemHide::Clear) | 
| 161         .function("getSelectorsForDomain", &ElemHide::GetSelectorsForDomain) | 167         .function("getSelectorsForDomain", &ElemHide::GetSelectorsForDomain) | 
| 162         .function("getUnconditionalSelectors", &ElemHide::GetUnconditionalSelect
     ors); | 168         .function("getUnconditionalSelectors", &ElemHide::GetUnconditionalSelect
     ors); | 
| 163 | 169 | 
| 164     class_<_ElemHideEmulation_FilterList>("_ElemHideEmulation_FilterList") | 170     class_<ElemHideEmulation_FilterList>("ElemHideEmulation_FilterList") | 
| 165         .property("filterCount", &_ElemHideEmulation_FilterList::GetFilterCount) | 171         .property("filterCount", &ElemHideEmulation_FilterList::GetFilterCount) | 
| 166         .function("filterAt", &_ElemHideEmulation_FilterList::FilterAt); | 172         .function("filterAt", &ElemHideEmulation_FilterList::FilterAt); | 
| 167 | 173 | 
| 168     singleton<ElemHideEmulation>("ElemHideEmulation", &ElemHideEmulation::GetIns
     tance) | 174     class_<ElemHideEmulation>("ElemHideEmulation") | 
|  | 175         .class_function("create", &ElemHideEmulation::Create) | 
| 169         .function("add", &ElemHideEmulation::Add) | 176         .function("add", &ElemHideEmulation::Add) | 
| 170         .function("remove", &ElemHideEmulation::Remove) | 177         .function("remove", &ElemHideEmulation::Remove) | 
| 171         .function("clear", &ElemHideEmulation::Clear) | 178         .function("clear", &ElemHideEmulation::Clear) | 
| 172         .function("getRulesForDomain", &ElemHideEmulation::GetRulesForDomain); | 179         .function("getRulesForDomain", &ElemHideEmulation::GetRulesForDomain); | 
| 173 | 180 | 
| 174     printBindings(); | 181     printBindings(); | 
| 175     RegExpFilter::GenerateCustomBindings(); | 182     RegExpFilter::GenerateCustomBindings(); | 
| 176     FilterNotifier::GenerateCustomBindings(); | 183     FilterNotifier::GenerateCustomBindings::Generate(); | 
| 177 | 184 | 
| 178     return 0; | 185     return 0; | 
| 179   } | 186   } | 
| 180   catch (const std::exception& e) | 187   catch (const std::exception& e) | 
| 181   { | 188   { | 
| 182     EM_ASM_ARGS( | 189     EM_ASM_ARGS( | 
| 183       console.error("Error occurred generating JavaScript bindings: " + | 190       console.error("Error occurred generating JavaScript bindings: " + | 
| 184           Module.AsciiToString($0)), e.what() | 191           Module.AsciiToString($0)), e.what() | 
| 185     ); | 192     ); | 
| 186     return 1; | 193     return 1; | 
| 187   } | 194   } | 
| 188 } | 195 } | 
| LEFT | RIGHT | 
|---|