ip_address_mojom_traits.cc 730 B

1234567891011121314151617181920212223242526
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/components/smbfs/ip_address_mojom_traits.h"
  5. namespace mojo {
  6. // static
  7. bool StructTraits<smbfs::mojom::IPAddressDataView, net::IPAddress>::Read(
  8. smbfs::mojom::IPAddressDataView data,
  9. net::IPAddress* out) {
  10. std::vector<uint8_t> bytes;
  11. if (!data.ReadAddressBytes(&bytes))
  12. return false;
  13. if (bytes.size() && bytes.size() != net::IPAddress::kIPv4AddressSize &&
  14. bytes.size() != net::IPAddress::kIPv6AddressSize) {
  15. return false;
  16. }
  17. *out = net::IPAddress(bytes.data(), bytes.size());
  18. return true;
  19. }
  20. } // namespace mojo