blob: d9627da416e0161e93c8707bb068181f0742ccbb [file] [log] [blame]
// Copyright 2014 The Chromium 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 NET_BASE_NET_LOG_UTIL_H_
#define NET_BASE_NET_LOG_UTIL_H_
#include "base/memory/scoped_ptr.h"
#include "net/base/net_export.h"
namespace base {
class DictionaryValue;
class Value;
}
namespace net {
class URLRequestContext;
// A set of flags that can be OR'd together to request specific information
// about the current state of the URLRequestContext. See GetNetInfo, below.
enum NetInfoSource {
#define NET_INFO_SOURCE(label, string, value) NET_INFO_ ## label = value,
#include "net/base/net_info_source_list.h"
#undef NET_INFO_SOURCE
NET_INFO_ALL_SOURCES = -1,
};
// Utility methods for creating NetLog dumps.
// Create a dictionary containing legend for net/ constants.
NET_EXPORT scoped_ptr<base::DictionaryValue> GetNetConstants();
// Retrieves a dictionary containing information about the current state of
// |context|. |info_sources| is a set of NetInfoSources OR'd together,
// indicating just what information is being requested. Each NetInfoSource adds
// one top-level entry to the returned dictionary.
NET_EXPORT scoped_ptr<base::DictionaryValue> GetNetInfo(
URLRequestContext* context, int info_sources);
} // namespace net
#endif // NET_BASE_NET_LOG_UTIL_H_