diff options
Diffstat (limited to 'chromium/net/log/net_log_source.h')
-rw-r--r-- | chromium/net/log/net_log_source.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/chromium/net/log/net_log_source.h b/chromium/net/log/net_log_source.h new file mode 100644 index 00000000000..9ec89902657 --- /dev/null +++ b/chromium/net/log/net_log_source.h @@ -0,0 +1,52 @@ +// Copyright 2016 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_LOG_NET_LOG_SOURCE_H_ +#define NET_LOG_NET_LOG_SOURCE_H_ + +#include <stdint.h> + +#include "net/base/net_export.h" +#include "net/log/net_log_parameters_callback.h" +#include "net/log/net_log_source_type.h" + +namespace base { +class DictionaryValue; +class Value; +} + +namespace net { + +// Identifies the entity that generated this log. The |id| field should +// uniquely identify the source, and is used by log observers to infer +// message groupings. Can use NetLog::NextID() to create unique IDs. +struct NET_EXPORT NetLogSource { + static const uint32_t kInvalidId; + + NetLogSource(); + NetLogSource(NetLogSourceType type, uint32_t id); + bool IsValid() const; + + // Adds the source to a DictionaryValue containing event parameters, + // using the name "source_dependency". + void AddToEventParameters(base::DictionaryValue* event_params) const; + + // Returns a callback that returns a dictionary with a single entry + // named "source_dependency" that describes |this|. + NetLogParametersCallback ToEventParametersCallback() const; + + // Attempts to extract a NetLogSource from a set of event parameters. Returns + // true and writes the result to |source| on success. Returns false and + // makes |source| an invalid source on failure. + // TODO(mmenke): Long term, we want to remove this. + static bool FromEventParameters(base::Value* event_params, + NetLogSource* source); + + NetLogSourceType type; + uint32_t id; +}; + +} // namespace net + +#endif // NET_LOG_NET_LOG_SOURCE_H_ |