123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Copyright (c) 2018 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_RESOLUTION_PROXY_CONFIG_WITH_ANNOTATION_H_
- #define NET_PROXY_RESOLUTION_PROXY_CONFIG_WITH_ANNOTATION_H_
- #include "net/base/net_export.h"
- #include "net/proxy_resolution/proxy_config.h"
- #include "net/traffic_annotation/network_traffic_annotation.h"
- namespace net {
- // ProxyConfigWithAnnotation encapsulates a ProxyConfig with the network traffic
- // annotation that specifies the source of proxy config.
- class NET_EXPORT ProxyConfigWithAnnotation {
- public:
- // Creates a Direct proxy config.
- ProxyConfigWithAnnotation();
- ProxyConfigWithAnnotation(
- const ProxyConfig& proxy_config,
- const NetworkTrafficAnnotationTag& traffic_annotation);
- static ProxyConfigWithAnnotation CreateDirect() {
- return ProxyConfigWithAnnotation();
- }
- NetworkTrafficAnnotationTag traffic_annotation() const {
- return NetworkTrafficAnnotationTag(traffic_annotation_);
- }
- const ProxyConfig& value() const { return value_; }
- private:
- ProxyConfig value_;
- MutableNetworkTrafficAnnotationTag traffic_annotation_;
- };
- } // namespace net
- #endif // NET_PROXY_RESOLUTION_PROXY_CONFIG_WITH_ANNOTATION_H_
|