[go: nahoru, domu]

blob: 8c8c65665311eca62211d39b83eede372ab77b5a [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_NETWORK_PUBLIC_CPP_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_TRAITS_H_
#define SERVICES_NETWORK_PUBLIC_CPP_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_TRAITS_H_
#include "base/component_export.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "net/proxy_resolution/proxy_config_with_annotation.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/network/public/cpp/mutable_network_traffic_annotation_tag_mojom_traits.h"
#include "services/network/public/cpp/proxy_config_mojom_traits.h"
#include "services/network/public/mojom/proxy_config_with_annotation.mojom-shared.h"
// This file handles the serialization of net::ProxyConfigWithAnnotation.
namespace mojo {
template <>
struct COMPONENT_EXPORT(NETWORK_CPP_PROXY_CONFIG)
StructTraits<network::mojom::ProxyConfigWithAnnotationDataView,
net::ProxyConfigWithAnnotation> {
public:
static const net::ProxyConfig& value(
const net::ProxyConfigWithAnnotation& r) {
return r.value();
}
static const net::MutableNetworkTrafficAnnotationTag traffic_annotation(
const net::ProxyConfigWithAnnotation& r) {
return net::MutableNetworkTrafficAnnotationTag(r.traffic_annotation());
}
static bool Read(network::mojom::ProxyConfigWithAnnotationDataView data,
net::ProxyConfigWithAnnotation* out_proxy_config);
};
} // namespace mojo
#endif // SERVICES_NETWORK_PUBLIC_CPP_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_TRAITS_H_