1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/address_list_net_log_param.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/values.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/net_util.h" 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/sys_addrinfo.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace net { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochAddressListNetLogParam::AddressListNetLogParam(const AddressList& address_list) 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch : address_list_(address_list) { 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochValue* AddressListNetLogParam::ToValue() const { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DictionaryValue* dict = new DictionaryValue(); 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ListValue* list = new ListValue(); 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch for (const addrinfo* head = address_list_.head(); 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch head != NULL ; head = head->ai_next) { 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch list->Append(Value::CreateStringValue(NetAddressToStringWithPort(head))); 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch } 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 263345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick dict->Set("address_list", list); 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return dict; 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace 31