mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 00:06:09 +03:00
85 lines
2.3 KiB
C++
85 lines
2.3 KiB
C++
// 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.
|
|
|
|
#include "net/log/test_net_log_entry.h"
|
|
|
|
#include <utility>
|
|
|
|
#include "base/json/json_writer.h"
|
|
#include "base/logging.h"
|
|
#include "base/values.h"
|
|
|
|
namespace net {
|
|
|
|
TestNetLogEntry::TestNetLogEntry(NetLogEventType type,
|
|
const base::TimeTicks& time,
|
|
NetLogSource source,
|
|
NetLogEventPhase phase,
|
|
std::unique_ptr<base::DictionaryValue> params)
|
|
: type(type),
|
|
time(time),
|
|
source(source),
|
|
phase(phase),
|
|
params(std::move(params)) {
|
|
// Only entries without a NetLog should have an invalid source.
|
|
CHECK(source.IsValid());
|
|
}
|
|
|
|
TestNetLogEntry::TestNetLogEntry(const TestNetLogEntry& entry) {
|
|
*this = entry;
|
|
}
|
|
|
|
TestNetLogEntry::~TestNetLogEntry() = default;
|
|
|
|
TestNetLogEntry& TestNetLogEntry::operator=(const TestNetLogEntry& entry) {
|
|
type = entry.type;
|
|
time = entry.time;
|
|
source = entry.source;
|
|
phase = entry.phase;
|
|
params.reset(entry.params ? entry.params->DeepCopy() : NULL);
|
|
return *this;
|
|
}
|
|
|
|
bool TestNetLogEntry::GetStringValue(const std::string& name,
|
|
std::string* value) const {
|
|
if (!params)
|
|
return false;
|
|
return params->GetString(name, value);
|
|
}
|
|
|
|
bool TestNetLogEntry::GetIntegerValue(const std::string& name,
|
|
int* value) const {
|
|
if (!params)
|
|
return false;
|
|
return params->GetInteger(name, value);
|
|
}
|
|
|
|
bool TestNetLogEntry::GetBooleanValue(const std::string& name,
|
|
bool* value) const {
|
|
if (!params)
|
|
return false;
|
|
return params->GetBoolean(name, value);
|
|
}
|
|
|
|
bool TestNetLogEntry::GetListValue(const std::string& name,
|
|
base::ListValue** value) const {
|
|
if (!params)
|
|
return false;
|
|
return params->GetList(name, value);
|
|
}
|
|
|
|
bool TestNetLogEntry::GetNetErrorCode(int* value) const {
|
|
return GetIntegerValue("net_error", value);
|
|
}
|
|
|
|
std::string TestNetLogEntry::GetParamsJson() const {
|
|
if (!params)
|
|
return std::string();
|
|
std::string json;
|
|
base::JSONWriter::Write(*params, &json);
|
|
return json;
|
|
}
|
|
|
|
} // namespace net
|