1 /* This Source Code Form is subject to the terms of the Mozilla 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 #ifndef nsUrlClassifierInfo_h_ 6 #define nsUrlClassifierInfo_h_ 7 8 #include "nsIUrlClassifierInfo.h" 9 #include "nsString.h" 10 11 class nsUrlClassifierPositiveCacheEntry final 12 : public nsIUrlClassifierPositiveCacheEntry { 13 public: 14 nsUrlClassifierPositiveCacheEntry(); 15 16 NS_DECL_THREADSAFE_ISUPPORTS 17 NS_DECL_NSIURLCLASSIFIERPOSITIVECACHEENTRY 18 19 private: ~nsUrlClassifierPositiveCacheEntry()20 ~nsUrlClassifierPositiveCacheEntry() {} 21 22 public: 23 nsCString fullhash; 24 25 int64_t expirySec; 26 }; 27 28 class nsUrlClassifierCacheEntry final : public nsIUrlClassifierCacheEntry { 29 public: 30 nsUrlClassifierCacheEntry(); 31 32 NS_DECL_THREADSAFE_ISUPPORTS 33 NS_DECL_NSIURLCLASSIFIERCACHEENTRY 34 35 private: ~nsUrlClassifierCacheEntry()36 ~nsUrlClassifierCacheEntry() {} 37 38 public: 39 nsCString prefix; 40 41 int64_t expirySec; 42 43 nsTArray<nsCOMPtr<nsIUrlClassifierPositiveCacheEntry>> matches; 44 }; 45 46 class nsUrlClassifierCacheInfo final : public nsIUrlClassifierCacheInfo { 47 public: 48 nsUrlClassifierCacheInfo(); 49 50 NS_DECL_THREADSAFE_ISUPPORTS 51 NS_DECL_NSIURLCLASSIFIERCACHEINFO 52 53 private: ~nsUrlClassifierCacheInfo()54 ~nsUrlClassifierCacheInfo() {} 55 56 public: 57 nsCString table; 58 59 nsTArray<nsCOMPtr<nsIUrlClassifierCacheEntry>> entries; 60 }; 61 62 #endif // nsUrlClassifierInfo_h_ 63