blob: 3c80404f9c6d7ed181efc8b9d78ca74363f43563 [file] [log] [blame]
/*
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/api/stats/rtcstats_objects.h"
namespace webrtc {
const char* RTCIceCandidateType::kHost = "host";
const char* RTCIceCandidateType::kSrflx = "srflx";
const char* RTCIceCandidateType::kPrflx = "prflx";
const char* RTCIceCandidateType::kRelay = "relay";
WEBRTC_RTCSTATS_IMPL(RTCIceCandidateStats, RTCStats, "ice-candidate",
&ip,
&port,
&protocol,
&candidate_type,
&priority,
&url);
RTCIceCandidateStats::RTCIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::string(id), timestamp_us) {
}
RTCIceCandidateStats::RTCIceCandidateStats(
std::string&& id, int64_t timestamp_us)
: RTCStats(std::move(id), timestamp_us),
ip("ip"),
port("port"),
protocol("protocol"),
candidate_type("candidateType"),
priority("priority"),
url("url") {
}
RTCIceCandidateStats::RTCIceCandidateStats(const RTCIceCandidateStats& other)
: RTCStats(other.id(), other.timestamp_us()),
ip(other.ip),
port(other.port),
protocol(other.protocol),
candidate_type(other.candidate_type),
priority(other.priority),
url(other.url) {
}
RTCIceCandidateStats::~RTCIceCandidateStats() {
}
const char RTCLocalIceCandidateStats::kType[] = "local-candidate";
RTCLocalIceCandidateStats::RTCLocalIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(id, timestamp_us) {
}
RTCLocalIceCandidateStats::RTCLocalIceCandidateStats(
std::string&& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::move(id), timestamp_us) {
}
const char* RTCLocalIceCandidateStats::type() const {
return kType;
}
const char RTCRemoteIceCandidateStats::kType[] = "remote-candidate";
RTCRemoteIceCandidateStats::RTCRemoteIceCandidateStats(
const std::string& id, int64_t timestamp_us)
: RTCIceCandidateStats(id, timestamp_us) {
}
RTCRemoteIceCandidateStats::RTCRemoteIceCandidateStats(
std::string&& id, int64_t timestamp_us)
: RTCIceCandidateStats(std::move(id), timestamp_us) {
}
const char* RTCRemoteIceCandidateStats::type() const {
return kType;
}
WEBRTC_RTCSTATS_IMPL(RTCCertificateStats, RTCStats, "certificate",
&fingerprint,
&fingerprint_algorithm,
&base64_certificate,
&issuer_certificate_id);
RTCCertificateStats::RTCCertificateStats(
const std::string& id, int64_t timestamp_us)
: RTCCertificateStats(std::string(id), timestamp_us) {
}
RTCCertificateStats::RTCCertificateStats(
std::string&& id, int64_t timestamp_us)
: RTCStats(std::move(id), timestamp_us),
fingerprint("fingerprint"),
fingerprint_algorithm("fingerprintAlgorithm"),
base64_certificate("base64Certificate"),
issuer_certificate_id("issuerCertificateId") {
}
RTCCertificateStats::RTCCertificateStats(
const RTCCertificateStats& other)
: RTCStats(other.id(), other.timestamp_us()),
fingerprint(other.fingerprint),
fingerprint_algorithm(other.fingerprint_algorithm),
base64_certificate(other.base64_certificate),
issuer_certificate_id(other.issuer_certificate_id) {
}
RTCCertificateStats::~RTCCertificateStats() {
}
WEBRTC_RTCSTATS_IMPL(RTCPeerConnectionStats, RTCStats, "peer-connection",
&data_channels_opened,
&data_channels_closed);
RTCPeerConnectionStats::RTCPeerConnectionStats(
const std::string& id, int64_t timestamp_us)
: RTCPeerConnectionStats(std::string(id), timestamp_us) {
}
RTCPeerConnectionStats::RTCPeerConnectionStats(
std::string&& id, int64_t timestamp_us)
: RTCStats(std::move(id), timestamp_us),
data_channels_opened("dataChannelsOpened"),
data_channels_closed("dataChannelsClosed") {
}
RTCPeerConnectionStats::RTCPeerConnectionStats(
const RTCPeerConnectionStats& other)
: RTCStats(other.id(), other.timestamp_us()),
data_channels_opened(other.data_channels_opened),
data_channels_closed(other.data_channels_closed) {
}
RTCPeerConnectionStats::~RTCPeerConnectionStats() {
}
} // namespace webrtc