#include "remoting/protocol/session_config.h"
#include <vector>
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/notreached.h"
namespace remoting::protocol {
namespace {
bool SelectCommonChannelConfig(const std::list<ChannelConfig>& host_configs,
const std::list<ChannelConfig>& client_configs,
ChannelConfig* config) { … }
void UpdateConfigListToPreferTransport(std::list<ChannelConfig>* configs,
ChannelConfig::TransportType transport) { … }
}
const int kDefaultStreamVersion = …;
const int kControlStreamVersion = …;
ChannelConfig ChannelConfig::None() { … }
ChannelConfig::ChannelConfig(TransportType transport, int version, Codec codec)
: … { … }
bool ChannelConfig::operator==(const ChannelConfig& b) const { … }
std::unique_ptr<SessionConfig> SessionConfig::SelectCommon(
const CandidateSessionConfig* client_config,
const CandidateSessionConfig* host_config) { … }
std::unique_ptr<SessionConfig> SessionConfig::GetFinalConfig(
const CandidateSessionConfig* candidate_config) { … }
std::unique_ptr<SessionConfig> SessionConfig::ForTest() { … }
std::unique_ptr<SessionConfig> SessionConfig::ForTestWithAudio() { … }
std::unique_ptr<SessionConfig> SessionConfig::ForTestWithVerbatimVideo() { … }
std::unique_ptr<SessionConfig> SessionConfig::ForTestWithWebrtc() { … }
const ChannelConfig& SessionConfig::control_config() const { … }
const ChannelConfig& SessionConfig::event_config() const { … }
const ChannelConfig& SessionConfig::video_config() const { … }
const ChannelConfig& SessionConfig::audio_config() const { … }
SessionConfig::SessionConfig(Protocol protocol) : … { … }
CandidateSessionConfig::CandidateSessionConfig() = default;
CandidateSessionConfig::CandidateSessionConfig(
const CandidateSessionConfig& config) = default;
CandidateSessionConfig::~CandidateSessionConfig() = default;
bool CandidateSessionConfig::IsSupported(const SessionConfig& config) const { … }
std::unique_ptr<CandidateSessionConfig> CandidateSessionConfig::Clone() const { … }
std::unique_ptr<CandidateSessionConfig> CandidateSessionConfig::CreateEmpty() { … }
std::unique_ptr<CandidateSessionConfig> CandidateSessionConfig::CreateFrom(
const SessionConfig& config) { … }
std::unique_ptr<CandidateSessionConfig>
CandidateSessionConfig::CreateDefault() { … }
void CandidateSessionConfig::DisableAudioChannel() { … }
void CandidateSessionConfig::PreferTransport(
ChannelConfig::TransportType transport) { … }
}