blob: 1320899ec53136e87652ff1afe149afa5ca10661 [file] [log] [blame]
// Copyright 2017 The Fuchsia 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 SRC_CONNECTIVITY_NETWORK_MDNS_SERVICE_DNS_WRITING_H_
#define SRC_CONNECTIVITY_NETWORK_MDNS_SERVICE_DNS_WRITING_H_
#include <memory>
#include "src/connectivity/network/mdns/service/dns_message.h"
#include "src/connectivity/network/mdns/service/packet_writer.h"
namespace mdns {
template <typename T>
PacketWriter& operator<<(PacketWriter& writer, const std::shared_ptr<T>& value) {
return writer << *value;
}
PacketWriter& operator<<(PacketWriter& writer, const DnsName& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsV4Address& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsV6Address& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsType& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsClass& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsClassAndFlag& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsHeader& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsQuestion& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResource& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataA& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataNs& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataCName& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataPtr& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataTxt& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataAaaa& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataSrv& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataOpt& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsResourceDataNSec& value);
PacketWriter& operator<<(PacketWriter& writer, const DnsMessage& value);
} // namespace mdns
#endif // SRC_CONNECTIVITY_NETWORK_MDNS_SERVICE_DNS_WRITING_H_