#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 {
class NET_EXPORT ProxyConfigWithAnnotation {
public:
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_; }
#if BUILDFLAG(ARKWEB_ARKWEB_EXTENSIONS)
void set_pref_proxy_mode(int pref_proxy_mode) { pref_proxy_mode_ = pref_proxy_mode; }
int pref_proxy_mode() const { return pref_proxy_mode_; }
#endif
private:
ProxyConfig value_;
MutableNetworkTrafficAnnotationTag traffic_annotation_;
#if BUILDFLAG(ARKWEB_ARKWEB_EXTENSIONS)
int pref_proxy_mode_ = -1;
#endif
};
}
#endif