101ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen// Copyright (c) 2010 The Chromium Authors. All rights reserved. 201ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 301ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen// found in the LICENSE file. 401ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 501ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#ifndef NET_PROXY_PROXY_CONFIG_SERVICE_ANDROID_H_ 601ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#define NET_PROXY_PROXY_CONFIG_SERVICE_ANDROID_H_ 701ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#pragma once 801ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 92557749644f9d25af9721533322db19197c49b49Kristian Monsen#include "net/base/net_export.h" 1001ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#include "net/proxy/proxy_config_service.h" 1101ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 1201ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#include <string> 1301ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 1401ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#include "base/observer_list.h" 1501ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 1601ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsennamespace net { 1701ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 182557749644f9d25af9721533322db19197c49b49Kristian Monsenclass NET_EXPORT ProxyConfigServiceAndroid : public ProxyConfigService { 1901ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen public: 2001ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen // ProxyConfigService implementation: 2101ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen virtual void AddObserver(Observer* observer); 2201ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen virtual void RemoveObserver(Observer* observer); 23a628b56b8b7c7f9a8730b0e43c6e04fcf3619b7eKristian Monsen virtual ConfigAvailability GetLatestProxyConfig(ProxyConfig* config); 2401ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen virtual void OnLazyPoll() {} 2501ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 2601ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen // For Android to update the proxy service config 27eae0084084f68c82733e5d9d4dea8e14eba66cc9Kristian Monsen void UpdateProxySettings(std::string& host, std::string& exclusionList); 2801ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 2901ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsenprivate: 3001ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen ObserverList<Observer> observers_; 3101ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen std::string m_proxy; 3201ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen}; 3301ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 3401ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen} // namespace net 3501ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen 3601ba86dc3bae37426ebafbdd93640dc50c45e3e0Kristian Monsen#endif // NET_PROXY_PROXY_CONFIG_SERVICE_ANDROID_H_ 37