Index: src/plugin/AdblockPlusClient.h |
=================================================================== |
--- a/src/plugin/AdblockPlusClient.h |
+++ b/src/plugin/AdblockPlusClient.h |
@@ -1,104 +1,105 @@ |
-/* |
- * This file is part of Adblock Plus <https://adblockplus.org/>, |
- * Copyright (C) 2006-2015 Eyeo GmbH |
- * |
- * Adblock Plus is free software: you can redistribute it and/or modify |
- * it under the terms of the GNU General Public License version 3 as |
- * published by the Free Software Foundation. |
- * |
- * Adblock Plus is distributed in the hope that it will be useful, |
- * but WITHOUT ANY WARRANTY; without even the implied warranty of |
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
- * GNU General Public License for more details. |
- * |
- * You should have received a copy of the GNU General Public License |
- * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
- */ |
- |
-#ifndef _ADBLOCK_PLUS_CLIENT_H_ |
-#define _ADBLOCK_PLUS_CLIENT_H_ |
- |
- |
-#include "PluginTypedef.h" |
-#include "PluginClientBase.h" |
+/* |
+ * This file is part of Adblock Plus <https://adblockplus.org/>, |
+ * Copyright (C) 2006-2015 Eyeo GmbH |
+ * |
+ * Adblock Plus is free software: you can redistribute it and/or modify |
+ * it under the terms of the GNU General Public License version 3 as |
+ * published by the Free Software Foundation. |
+ * |
+ * Adblock Plus is distributed in the hope that it will be useful, |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+ * GNU General Public License for more details. |
+ * |
+ * You should have received a copy of the GNU General Public License |
+ * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
+ */ |
+ |
+#ifndef _ADBLOCK_PLUS_CLIENT_H_ |
+#define _ADBLOCK_PLUS_CLIENT_H_ |
+ |
+ |
+#include "PluginTypedef.h" |
+#include "PluginClientBase.h" |
#include "../shared/Communication.h" |
#include "../shared/CriticalSection.h" |
- |
- |
-class CPluginFilter; |
- |
-struct SubscriptionDescription |
-{ |
- std::wstring url; |
- std::wstring title; |
- std::wstring specialization; |
- bool listed; |
-}; |
- |
-class CAdblockPlusClient : public CPluginClientBase |
-{ |
- |
-private: |
- |
- std::auto_ptr<CPluginFilter> m_filter; |
- |
- CComAutoCriticalSection m_criticalSectionFilter; |
- CComAutoCriticalSection m_criticalSectionCache; |
- |
- std::map<std::wstring, bool> m_cacheBlockedSources; |
- |
- std::shared_ptr<Communication::Pipe> enginePipe; |
- CriticalSection enginePipeLock; |
- |
- |
- // Private constructor used by the singleton pattern |
- CAdblockPlusClient(); |
- |
+#include <AdblockPlus/FilterEngine.h> |
+ |
+ |
+class CPluginFilter; |
+ |
+struct SubscriptionDescription |
+{ |
+ std::wstring url; |
+ std::wstring title; |
+ std::wstring specialization; |
+ bool listed; |
+}; |
+ |
+class CAdblockPlusClient : public CPluginClientBase |
+{ |
+ |
+private: |
+ |
+ std::auto_ptr<CPluginFilter> m_filter; |
+ |
+ CComAutoCriticalSection m_criticalSectionFilter; |
+ CComAutoCriticalSection m_criticalSectionCache; |
+ |
+ std::map<std::wstring, bool> m_cacheBlockedSources; |
+ |
+ std::shared_ptr<Communication::Pipe> enginePipe; |
+ CriticalSection enginePipeLock; |
+ |
+ |
+ // Private constructor used by the singleton pattern |
+ CAdblockPlusClient(); |
+ |
bool CallEngine(Communication::OutputBuffer& message, Communication::InputBuffer& inputBuffer = Communication::InputBuffer()); |
- bool CallEngine(Communication::ProcType proc, Communication::InputBuffer& inputBuffer = Communication::InputBuffer()); |
-public: |
- |
- static CAdblockPlusClient* s_instance; |
- |
- ~CAdblockPlusClient(); |
- |
- static CAdblockPlusClient* GetInstance(); |
- |
- // Removes the url from the list of whitelisted urls if present |
- // Only called from ui thread |
- bool ShouldBlock(const std::wstring& src, int contentType, const std::wstring& domain, bool addDebug=false); |
- |
- bool IsElementHidden(const std::wstring& tag, IHTMLElement* pEl, const std::wstring& domain, const std::wstring& indent, CPluginFilter* filter); |
- bool IsWhitelistedUrl(const std::wstring& url); |
- bool IsElemhideWhitelistedOnDomain(const std::wstring& url); |
- |
- bool Matches(const std::wstring& url, const std::wstring& contentType, const std::wstring& domain); |
- std::vector<std::wstring> GetElementHidingSelectors(const std::wstring& domain); |
- std::vector<SubscriptionDescription> FetchAvailableSubscriptions(); |
- std::vector<SubscriptionDescription> GetListedSubscriptions(); |
- bool IsAcceptableAdsEnabled(); |
- void SetSubscription(const std::wstring& url); |
- void AddSubscription(const std::wstring& url); |
- void RemoveSubscription(const std::wstring& url); |
- void UpdateAllSubscriptions(); |
- std::vector<std::wstring> GetExceptionDomains(); |
- void AddFilter(const std::wstring& text); |
- void RemoveFilter(const std::wstring& text); |
- void SetPref(const std::wstring& name, const std::wstring& value); |
- void SetPref(const std::wstring& name, const int64_t& value); |
- void SetPref(const std::wstring& name, bool value); |
- std::wstring GetPref(const std::wstring& name, const std::wstring& defaultValue = L""); |
- std::wstring GetPref(const std::wstring& name, const wchar_t* defaultValue); |
- bool GetPref(const std::wstring& name, bool defaultValue = false); |
- int64_t GetPref(const std::wstring& name, int64_t defaultValue = 0); |
- void CheckForUpdates(HWND callbackWindow); |
+ bool CallEngine(Communication::ProcType proc, Communication::InputBuffer& inputBuffer = Communication::InputBuffer()); |
+public: |
+ |
+ static CAdblockPlusClient* s_instance; |
+ |
+ ~CAdblockPlusClient(); |
+ |
+ static CAdblockPlusClient* GetInstance(); |
+ |
+ // Removes the url from the list of whitelisted urls if present |
+ // Only called from ui thread |
+ bool ShouldBlock(const std::wstring& src, AdblockPlus::FilterEngine::ContentType contentType, const std::wstring& domain, bool addDebug=false); |
Eric
2015/02/02 06:58:27
All these declarations would be a lot cleaner if w
|
+ |
+ bool IsElementHidden(const std::wstring& tag, IHTMLElement* pEl, const std::wstring& domain, const std::wstring& indent, CPluginFilter* filter); |
+ bool IsWhitelistedUrl(const std::wstring& url); |
+ bool IsElemhideWhitelistedOnDomain(const std::wstring& url); |
+ |
+ bool Matches(const std::wstring& url, AdblockPlus::FilterEngine::ContentType contentType, const std::wstring& domain); |
+ std::vector<std::wstring> GetElementHidingSelectors(const std::wstring& domain); |
+ std::vector<SubscriptionDescription> FetchAvailableSubscriptions(); |
+ std::vector<SubscriptionDescription> GetListedSubscriptions(); |
+ bool IsAcceptableAdsEnabled(); |
+ void SetSubscription(const std::wstring& url); |
+ void AddSubscription(const std::wstring& url); |
+ void RemoveSubscription(const std::wstring& url); |
+ void UpdateAllSubscriptions(); |
+ std::vector<std::wstring> GetExceptionDomains(); |
+ void AddFilter(const std::wstring& text); |
+ void RemoveFilter(const std::wstring& text); |
+ void SetPref(const std::wstring& name, const std::wstring& value); |
+ void SetPref(const std::wstring& name, const int64_t& value); |
+ void SetPref(const std::wstring& name, bool value); |
+ std::wstring GetPref(const std::wstring& name, const std::wstring& defaultValue = L""); |
+ std::wstring GetPref(const std::wstring& name, const wchar_t* defaultValue); |
+ bool GetPref(const std::wstring& name, bool defaultValue = false); |
+ int64_t GetPref(const std::wstring& name, int64_t defaultValue = 0); |
+ void CheckForUpdates(HWND callbackWindow); |
std::wstring GetAppLocale(); |
std::wstring GetDocumentationLink(); |
- bool TogglePluginEnabled(); |
+ bool TogglePluginEnabled(); |
std::wstring GetHostFromUrl(const std::wstring& url); |
- int CompareVersions(const std::wstring& v1, const std::wstring& v2); |
- |
- bool IsFirstRun(); |
-}; |
- |
-#endif // _ADBLOCK_PLUS_CLIENT_H_ |
+ int CompareVersions(const std::wstring& v1, const std::wstring& v2); |
+ |
+ bool IsFirstRun(); |
+}; |
+ |
+#endif // _ADBLOCK_PLUS_CLIENT_H_ |