1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_
6#define CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_
7
8#include "chrome/browser/extensions/activity_log/ad_network_database.h"
9
10namespace extensions {
11
12// The standard ("real") implementation of the AdNetworkDatabase, which stores
13// a list of hashes of ad networks.
14class HashedAdNetworkDatabase : public AdNetworkDatabase {
15 public:
16  HashedAdNetworkDatabase();
17  virtual ~HashedAdNetworkDatabase();
18
19  void set_entries_for_testing(const char** entries, int num_entries) {
20    entries_ = entries;
21    num_entries_ = num_entries;
22  }
23
24 private:
25  // AdNetworkDatabase implementation.
26  virtual bool IsAdNetwork(const GURL& url) const OVERRIDE;
27
28  // Points to the array of hash entries. In practice, this is always set to
29  // kHashedAdNetworks, but is exposed via set_entries_for_testing().
30  const char** entries_;
31
32  // The number of entries.
33  int num_entries_;
34};
35
36}  // namespace extensions
37
38#endif  // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_HASHED_AD_NETWORK_DATABASE_H_
39