blob: 58f51a7d74ba7f63174110eb4fedc8d217d6e720 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_GOOGLE_GOOGLE_URL_TRACKER_CLIENT_H_
#define COMPONENTS_GOOGLE_GOOGLE_URL_TRACKER_CLIENT_H_
#include "base/macros.h"
#include "url/gurl.h"
class GoogleURLTracker;
class PrefService;
namespace net {
class URLRequestContextGetter;
}
// Interface by which GoogleURLTracker communicates with its embedder.
class GoogleURLTrackerClient {
public:
GoogleURLTrackerClient();
virtual ~GoogleURLTrackerClient();
// Sets the GoogleURLTracker that is associated with this client.
void set_google_url_tracker(GoogleURLTracker* google_url_tracker) {
google_url_tracker_ = google_url_tracker;
}
// Returns whether background networking is enabled.
virtual bool IsBackgroundNetworkingEnabled() = 0;
// Returns the PrefService that the GoogleURLTracker should use.
virtual PrefService* GetPrefs() = 0;
// Returns the URL request context information that the GoogleURLTracker
// should use.
virtual net::URLRequestContextGetter* GetRequestContext() = 0;
protected:
GoogleURLTracker* google_url_tracker() { return google_url_tracker_; }
private:
GoogleURLTracker* google_url_tracker_;
DISALLOW_COPY_AND_ASSIGN(GoogleURLTrackerClient);
};
#endif // COMPONENTS_GOOGLE_GOOGLE_URL_TRACKER_CLIENT_H_