| OLD | NEW |
| 1 #ifndef _SIMPLE_ADBLOCK_CLIENT_H_ | 1 #ifndef _SIMPLE_ADBLOCK_CLIENT_H_ |
| 2 #define _SIMPLE_ADBLOCK_CLIENT_H_ | 2 #define _SIMPLE_ADBLOCK_CLIENT_H_ |
| 3 | 3 |
| 4 | 4 |
| 5 #include "PluginTypedef.h" | 5 #include "PluginTypedef.h" |
| 6 #include "PluginClientBase.h" | 6 #include "PluginClientBase.h" |
| 7 #include "AdblockPlus.h" | |
| 8 | 7 |
| 9 | 8 |
| 10 using namespace AdblockPlus; | 9 class CPluginFilter; |
| 11 | 10 |
| 12 class CPluginFilter; | 11 struct SubscriptionDescription |
| 12 { |
| 13 std::string url; |
| 14 std::string title; |
| 15 std::string specialization; |
| 16 bool listed; |
| 17 }; |
| 13 | 18 |
| 14 class CAdblockPlusClient : public CPluginClientBase | 19 class CAdblockPlusClient : public CPluginClientBase |
| 15 { | 20 { |
| 16 | 21 |
| 17 private: | 22 private: |
| 18 | 23 |
| 19 std::auto_ptr<CPluginFilter> m_filter; | 24 std::auto_ptr<CPluginFilter> m_filter; |
| 20 std::auto_ptr<AdblockPlus::FilterEngine> filterEngine; | |
| 21 | 25 |
| 22 CComAutoCriticalSection m_criticalSectionFilter; | 26 CComAutoCriticalSection m_criticalSectionFilter; |
| 23 CComAutoCriticalSection m_criticalSectionCache; | 27 CComAutoCriticalSection m_criticalSectionCache; |
| 24 | 28 |
| 25 std::map<CString,bool> m_cacheBlockedSources; | 29 std::map<CString,bool> m_cacheBlockedSources; |
| 26 | 30 |
| 27 | 31 |
| 28 // Private constructor used by the singleton pattern | 32 // Private constructor used by the singleton pattern |
| 29 CAdblockPlusClient(); | 33 CAdblockPlusClient(); |
| 30 | 34 |
| 31 public: | 35 public: |
| 32 | 36 |
| 33 static CAdblockPlusClient* s_instance; | 37 static CAdblockPlusClient* s_instance; |
| 34 | 38 |
| 35 ~CAdblockPlusClient(); | 39 ~CAdblockPlusClient(); |
| 36 | 40 |
| 37 static CAdblockPlusClient* GetInstance(); | 41 static CAdblockPlusClient* GetInstance(); |
| 38 | 42 |
| 39 // Removes the url from the list of whitelisted urls if present | 43 // Removes the url from the list of whitelisted urls if present |
| 40 // Only called from ui thread | 44 // Only called from ui thread |
| 41 bool ShouldBlock(CString src, int contentType, const CString& domain, bool add
Debug=false); | 45 bool ShouldBlock(CString src, int contentType, const CString& domain, bool add
Debug=false); |
| 42 | 46 |
| 43 bool IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& dom
ain, const CString& indent, CPluginFilter* filter); | 47 bool IsElementHidden(const CString& tag, IHTMLElement* pEl, const CString& dom
ain, const CString& indent, CPluginFilter* filter); |
| 44 bool IsUrlWhiteListed(const CString& url); | 48 bool IsUrlWhiteListed(const CString& url); |
| 45 | 49 |
| 46 int GetIEVersion(); | 50 int GetIEVersion(); |
| 47 | 51 |
| 48 bool Matches(const std::string& url, const std::string& contentType, const std
::string& domain); | 52 bool Matches(const std::string& url, const std::string& contentType, const std
::string& domain); |
| 49 std::vector<std::string> GetElementHidingSelectors(const std::string& domain); | 53 std::vector<std::string> GetElementHidingSelectors(const std::string& domain); |
| 50 std::vector<AdblockPlus::SubscriptionPtr> FetchAvailableSubscriptions(); | 54 std::vector<SubscriptionDescription> FetchAvailableSubscriptions(); |
| 51 std::vector<AdblockPlus::FilterPtr> GetListedFilters(); | 55 std::vector<SubscriptionDescription> GetListedSubscriptions(); |
| 52 AdblockPlus::FilterPtr GetFilter(std::string text); | 56 void SetSubscription(std::string url); |
| 53 std::vector<AdblockPlus::SubscriptionPtr> GetListedSubscriptions(); | 57 void UpdateAllSubscriptions(); |
| 54 AdblockPlus::SubscriptionPtr GetSubscription(std::string url); | 58 std::vector<std::string> GetExceptionDomains(); |
| 59 void AddFilter(const std::string& text); |
| 55 }; | 60 }; |
| 56 | 61 |
| 57 #endif // _SIMPLE_ADBLOCK_CLIENT_H_ | 62 #endif // _SIMPLE_ADBLOCK_CLIENT_H_ |
| OLD | NEW |