// Copyright (c) 2012 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 NET_PROXY_PROXY_CONFIG_SOURCE_H_
#define NET_PROXY_PROXY_CONFIG_SOURCE_H_
namespace net {
// Source of the configuration settings encapsulated in a ProxyConfig object.
// The source information is used for determining how credentials are used and
// for logging. When adding new values, remember to add a string to
// kSourceNames[] in proxy_config_source.cc.
enum ProxyConfigSource {
PROXY_CONFIG_SOURCE_UNKNOWN, // The source hasn't been set.
PROXY_CONFIG_SOURCE_SYSTEM, // System settings (Win/Mac).
PROXY_CONFIG_SOURCE_SYSTEM_FAILED, // Default settings after failure to
// determine system settings.
PROXY_CONFIG_SOURCE_GCONF, // GConf (Linux)
PROXY_CONFIG_SOURCE_GSETTINGS, // GSettings (Linux).
PROXY_CONFIG_SOURCE_KDE, // KDE (Linux).
PROXY_CONFIG_SOURCE_ENV, // Environment variables.
PROXY_CONFIG_SOURCE_CUSTOM, // Custom settings local to the
// application (command line,
// extensions, application
// specific preferences, etc.)
PROXY_CONFIG_SOURCE_TEST, // Test settings.
NUM_PROXY_CONFIG_SOURCES
};
// Returns a textual representation of the source.
const char* ProxyConfigSourceToString(ProxyConfigSource source);
} // namespace net
#endif // NET_PROXY_PROXY_CONFIG_SOURCE_H_