Index: remoting/protocol/session_config.cc |
diff --git a/remoting/protocol/session_config.cc b/remoting/protocol/session_config.cc |
index 57dbe2884bdb8024de43eaaf95879d3bf71b5e1a..7433a8ba63e96f17b056962f364466a1c5ce4b82 100644 |
--- a/remoting/protocol/session_config.cc |
+++ b/remoting/protocol/session_config.cc |
@@ -52,13 +52,6 @@ bool ScreenResolution::IsValid() const { |
SessionConfig::SessionConfig() { } |
-SessionConfig::SessionConfig(const SessionConfig& config) |
- : control_config_(config.control_config_), |
- event_config_(config.event_config_), |
- video_config_(config.video_config_), |
- initial_resolution_(config.initial_resolution_) { |
-} |
- |
SessionConfig::~SessionConfig() { } |
void SessionConfig::SetControlConfig(const ChannelConfig& control_config) { |
@@ -74,20 +67,16 @@ void SessionConfig::SetInitialResolution(const ScreenResolution& resolution) { |
initial_resolution_ = resolution; |
} |
-SessionConfig* SessionConfig::Clone() const { |
- return new SessionConfig(*this); |
-} |
- |
// static |
-SessionConfig* SessionConfig::CreateDefault() { |
- SessionConfig* result = new SessionConfig(); |
- result->SetControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
+SessionConfig SessionConfig::GetDefault() { |
+ SessionConfig result; |
+ result.SetControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
kDefaultStreamVersion, |
ChannelConfig::CODEC_UNDEFINED)); |
- result->SetEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
+ result.SetEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
kDefaultStreamVersion, |
ChannelConfig::CODEC_UNDEFINED)); |
- result->SetVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
+ result.SetVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
kDefaultStreamVersion, |
ChannelConfig::CODEC_VP8)); |
return result; |
@@ -105,9 +94,10 @@ CandidateSessionConfig::CandidateSessionConfig( |
CandidateSessionConfig::~CandidateSessionConfig() { } |
-SessionConfig* CandidateSessionConfig::Select( |
+bool CandidateSessionConfig::Select( |
const CandidateSessionConfig* client_config, |
- bool force_host_resolution) { |
+ bool force_host_resolution, |
+ SessionConfig* result) { |
ChannelConfig control_config; |
ChannelConfig event_config; |
ChannelConfig video_config; |
@@ -118,10 +108,9 @@ SessionConfig* CandidateSessionConfig::Select( |
event_configs_, client_config->event_configs_, &event_config) || |
!SelectCommonChannelConfig( |
video_configs_, client_config->video_configs_, &video_config)) { |
- return NULL; |
+ return false; |
} |
- SessionConfig* result = SessionConfig::CreateDefault(); |
result->SetControlConfig(control_config); |
result->SetEventConfig(event_config); |
result->SetVideoConfig(video_config); |
@@ -132,31 +121,31 @@ SessionConfig* CandidateSessionConfig::Select( |
result->SetInitialResolution(client_config->initial_resolution()); |
} |
- return result; |
+ return true; |
} |
bool CandidateSessionConfig::IsSupported( |
- const SessionConfig* config) const { |
+ const SessionConfig& config) const { |
return |
- IsChannelConfigSupported(control_configs_, config->control_config()) && |
- IsChannelConfigSupported(event_configs_, config->event_config()) && |
- IsChannelConfigSupported(video_configs_, config->video_config()) && |
- config->initial_resolution().IsValid(); |
+ IsChannelConfigSupported(control_configs_, config.control_config()) && |
+ IsChannelConfigSupported(event_configs_, config.event_config()) && |
+ IsChannelConfigSupported(video_configs_, config.video_config()) && |
+ config.initial_resolution().IsValid(); |
} |
-SessionConfig* CandidateSessionConfig::GetFinalConfig() const { |
+bool CandidateSessionConfig::GetFinalConfig(SessionConfig* result) const { |
if (control_configs_.size() != 1 || |
event_configs_.size() != 1 || |
video_configs_.size() != 1) { |
- return NULL; |
+ return false; |
} |
- SessionConfig* result = SessionConfig::CreateDefault(); |
result->SetControlConfig(control_configs_.front()); |
result->SetEventConfig(event_configs_.front()); |
result->SetVideoConfig(video_configs_.front()); |
result->SetInitialResolution(initial_resolution_); |
- return result; |
+ |
+ return true; |
} |
// static |
@@ -194,12 +183,12 @@ CandidateSessionConfig* CandidateSessionConfig::CreateEmpty() { |
// static |
CandidateSessionConfig* CandidateSessionConfig::CreateFrom( |
- const SessionConfig* config) { |
+ const SessionConfig& config) { |
CandidateSessionConfig* result = CreateEmpty(); |
- result->mutable_control_configs()->push_back(config->control_config()); |
- result->mutable_event_configs()->push_back(config->event_config()); |
- result->mutable_video_configs()->push_back(config->video_config()); |
- *result->mutable_initial_resolution() = (config->initial_resolution()); |
+ result->mutable_control_configs()->push_back(config.control_config()); |
+ result->mutable_event_configs()->push_back(config.event_config()); |
+ result->mutable_video_configs()->push_back(config.video_config()); |
+ *result->mutable_initial_resolution() = (config.initial_resolution()); |
Wez
2011/09/10 01:04:29
Typo!
Sergey Ulanov
2011/09/10 06:45:58
Where? The star in the beginning is needed. Remove
Wez
2011/09/11 01:17:41
|result| is a pointer-to-CandidateSessionConfig, s
|
return result; |
} |