/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef mozilla_nsCookieBannerRule_h__ #define mozilla_nsCookieBannerRule_h__ #include "nsICookieBannerRule.h" #include "nsICookieRule.h" #include "nsString.h" #include "nsCOMPtr.h" #include "mozilla/Logging.h" class nsIClickRule; namespace mozilla { class nsCookieBannerRule final : public nsICookieBannerRule { NS_DECL_ISUPPORTS NS_DECL_NSICOOKIEBANNERRULE public: nsCookieBannerRule() = default; static void LogRule(LazyLogModule& aLogger, const char* aMessage, nsICookieBannerRule* aRule, LogLevel aLogLevel); private: ~nsCookieBannerRule() = default; nsCString mId; nsTArray mDomains; nsTArray> mCookiesOptOut; nsTArray> mCookiesOptIn; // Internal getter for easy access of cookie rule arrays. nsTArray>& Cookies(bool isOptOut); nsCOMPtr mClickRule; }; } // namespace mozilla #endif