mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 06:10:40 +01:00

First batch of applying iwyu to the repo. Done with: > ./tools_webrtc/iwyu/apply-iwyu api > git add api/[a-s]* > python3 gn_autodeps.py ~/local/webrtc/src out/Default Last step is a custom script I wrote to automatically apply new required dependencies for target in gn, which saved tons of time manually going over the files and fixing. If this is something that interest others, I can submit it as well. Bug: webrtc:42226242 Change-Id: Id109e77f50835827495bc4512880c4ec9ae175f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/343680 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Dor Hen <dorhen@meta.com> Cr-Commit-Position: refs/heads/main@{#42512}
79 lines
2.7 KiB
C++
79 lines
2.7 KiB
C++
/*
|
|
* Copyright 2019 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 "api/dtls_transport_interface.h"
|
|
|
|
#include <memory>
|
|
#include <utility>
|
|
|
|
#include "absl/types/optional.h"
|
|
#include "rtc_base/ssl_certificate.h"
|
|
|
|
namespace webrtc {
|
|
|
|
DtlsTransportInformation::DtlsTransportInformation()
|
|
: state_(DtlsTransportState::kNew) {}
|
|
|
|
DtlsTransportInformation::DtlsTransportInformation(DtlsTransportState state)
|
|
: state_(state) {}
|
|
|
|
DtlsTransportInformation::DtlsTransportInformation(
|
|
DtlsTransportState state,
|
|
absl::optional<DtlsTransportTlsRole> role,
|
|
absl::optional<int> tls_version,
|
|
absl::optional<int> ssl_cipher_suite,
|
|
absl::optional<int> srtp_cipher_suite,
|
|
std::unique_ptr<rtc::SSLCertChain> remote_ssl_certificates)
|
|
: state_(state),
|
|
role_(role),
|
|
tls_version_(tls_version),
|
|
ssl_cipher_suite_(ssl_cipher_suite),
|
|
srtp_cipher_suite_(srtp_cipher_suite),
|
|
remote_ssl_certificates_(std::move(remote_ssl_certificates)) {}
|
|
|
|
// Deprecated version
|
|
DtlsTransportInformation::DtlsTransportInformation(
|
|
DtlsTransportState state,
|
|
absl::optional<int> tls_version,
|
|
absl::optional<int> ssl_cipher_suite,
|
|
absl::optional<int> srtp_cipher_suite,
|
|
std::unique_ptr<rtc::SSLCertChain> remote_ssl_certificates)
|
|
: state_(state),
|
|
role_(absl::nullopt),
|
|
tls_version_(tls_version),
|
|
ssl_cipher_suite_(ssl_cipher_suite),
|
|
srtp_cipher_suite_(srtp_cipher_suite),
|
|
remote_ssl_certificates_(std::move(remote_ssl_certificates)) {}
|
|
|
|
DtlsTransportInformation::DtlsTransportInformation(
|
|
const DtlsTransportInformation& c)
|
|
: state_(c.state()),
|
|
role_(c.role_),
|
|
tls_version_(c.tls_version_),
|
|
ssl_cipher_suite_(c.ssl_cipher_suite_),
|
|
srtp_cipher_suite_(c.srtp_cipher_suite_),
|
|
remote_ssl_certificates_(c.remote_ssl_certificates()
|
|
? c.remote_ssl_certificates()->Clone()
|
|
: nullptr) {}
|
|
|
|
DtlsTransportInformation& DtlsTransportInformation::operator=(
|
|
const DtlsTransportInformation& c) {
|
|
state_ = c.state();
|
|
role_ = c.role_;
|
|
tls_version_ = c.tls_version_;
|
|
ssl_cipher_suite_ = c.ssl_cipher_suite_;
|
|
srtp_cipher_suite_ = c.srtp_cipher_suite_;
|
|
remote_ssl_certificates_ = c.remote_ssl_certificates()
|
|
? c.remote_ssl_certificates()->Clone()
|
|
: nullptr;
|
|
return *this;
|
|
}
|
|
|
|
} // namespace webrtc
|