| Index: net/base/net_log.h
|
| ===================================================================
|
| --- net/base/net_log.h (revision 45472)
|
| +++ net/base/net_log.h (working copy)
|
| @@ -14,6 +14,8 @@
|
| #include "base/time.h"
|
| #include "net/base/net_log.h"
|
|
|
| +class Value;
|
| +
|
| namespace net {
|
|
|
| // NetLog is the destination for log messages generated by the network stack.
|
| @@ -30,11 +32,6 @@
|
| // ******** The NetLog (and associated logging) is a work in progress ********
|
| //
|
| // TODO(eroman): Remove the 'const' qualitifer from the BoundNetLog methods.
|
| -// TODO(eroman): Remove the AddString() and AddStringLiteral() methods.
|
| -// These are a carry-over from old approach. Really, consumers
|
| -// should be calling AddEventWithParameters(), and passing a
|
| -// custom EventParameters* object that encapsulates all of the
|
| -// interesting state.
|
| // TODO(eroman): Remove NetLogUtil. Pretty printing should only be done from
|
| // javascript, and should be very context-aware.
|
| // TODO(eroman): Move Capturing*NetLog to its own file. (And eventually remove
|
| @@ -92,9 +89,10 @@
|
| EventParameters() {}
|
| virtual ~EventParameters() {}
|
|
|
| - // Serializes the parameters to a string representation (this should be a
|
| - // lossless conversion).
|
| - virtual std::string ToString() const = 0;
|
| + // Serializes the parameters to a Value tree. This is intended to be a
|
| + // lossless conversion, which is used to serialize the parameters to JSON.
|
| + // The caller takes ownership of the returned Value*.
|
| + virtual Value* ToValue() const = 0;
|
|
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(EventParameters);
|
| @@ -170,19 +168,19 @@
|
| void BeginEventWithParameters(NetLog::EventType event_type,
|
| NetLog::EventParameters* params) const;
|
| void BeginEventWithString(NetLog::EventType event_type,
|
| - const std::string& string) const;
|
| - void BeginEventWithInteger(NetLog::EventType event_type, int integer) const;
|
| - void AddEventWithInteger(NetLog::EventType event_type, int integer) const;
|
| + const char* name, const std::string& value) const;
|
| + void BeginEventWithInteger(NetLog::EventType event_type,
|
| + const char* name, int value) const;
|
| + void AddEventWithInteger(NetLog::EventType event_type,
|
| + const char* name, int value) const;
|
| + void AddEventWithString(NetLog::EventType event_type,
|
| + const char* name, const std::string& value) const;
|
| void EndEvent(NetLog::EventType event_type) const;
|
| void EndEventWithParameters(NetLog::EventType event_type,
|
| NetLog::EventParameters* params) const;
|
| - void EndEventWithInteger(NetLog::EventType event_type, int integer) const;
|
| + void EndEventWithInteger(NetLog::EventType event_type,
|
| + const char* name, int value) const;
|
|
|
| - // Deprecated: Don't add new dependencies that use these methods. Instead, use
|
| - // AddEventWithParameters().
|
| - void AddString(const std::string& string) const;
|
| - void AddStringLiteral(const char* literal) const;
|
| -
|
| // Helper to create a BoundNetLog given a NetLog and a SourceType. Takes care
|
| // of creating a unique source ID, and handles the case of NULL net_log.
|
| static BoundNetLog Make(NetLog* net_log, NetLog::SourceType source_type);
|
| @@ -199,53 +197,39 @@
|
| // single std::string parameter.
|
| class NetLogStringParameter : public NetLog::EventParameters {
|
| public:
|
| - explicit NetLogStringParameter(const std::string& value);
|
| + // |name| must be a string literal.
|
| + NetLogStringParameter(const char* name, const std::string& value);
|
|
|
| const std::string& value() const {
|
| return value_;
|
| }
|
|
|
| - virtual std::string ToString() const {
|
| - return value_;
|
| - }
|
| + virtual Value* ToValue() const;
|
|
|
| private:
|
| - std::string value_;
|
| + const char* const name_;
|
| + const std::string value_;
|
| };
|
|
|
| // NetLogIntegerParameter is a subclass of EventParameters that encapsulates a
|
| // single integer parameter.
|
| class NetLogIntegerParameter : public NetLog::EventParameters {
|
| public:
|
| - explicit NetLogIntegerParameter(int value) : value_(value) {}
|
| + // |name| must be a string literal.
|
| + NetLogIntegerParameter(const char* name, int value)
|
| + : name_(name), value_(value) {}
|
|
|
| int value() const {
|
| return value_;
|
| }
|
|
|
| - virtual std::string ToString() const;
|
| + virtual Value* ToValue() const;
|
|
|
| private:
|
| + const char* name_;
|
| const int value_;
|
| };
|
|
|
| -// NetLogStringLiteralParameter is a subclass of EventParameters that
|
| -// encapsulates a single string literal parameter.
|
| -class NetLogStringLiteralParameter : public NetLog::EventParameters {
|
| - public:
|
| - explicit NetLogStringLiteralParameter(const char* value) : value_(value) {}
|
| -
|
| - const char* const value() const {
|
| - return value_;
|
| - }
|
| -
|
| - virtual std::string ToString() const;
|
| -
|
| - private:
|
| - const char* const value_;
|
| -};
|
| -
|
| -
|
| // CapturingNetLog is an implementation of NetLog that saves messages to a
|
| // bounded buffer.
|
| class CapturingNetLog : public NetLog {
|
|
|