Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: remoting/protocol/session_config.cc

Issue 4446005: Chromoting: Rename ChromotocolConfig -> SessionConfig (Closed) Base URL: http://git.chromium.org/git/chromium.git
Patch Set: Rename candidate_config vars Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/protocol/session_config.h ('k') | remoting/protocol/session_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/protocol/chromotocol_config.h" 5 #include "remoting/protocol/session_config.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 namespace remoting { 9 namespace remoting {
10 namespace protocol {
10 11
11 const int kDefaultStreamVersion = 1; 12 const int kDefaultStreamVersion = 1;
12 13
13 namespace { 14 namespace {
14 const int kDefaultWidth = 800; 15 const int kDefaultWidth = 800;
15 const int kDefaultHeight = 600; 16 const int kDefaultHeight = 600;
16 } // namespace 17 } // namespace
17 18
18 ChannelConfig::ChannelConfig() { 19 ChannelConfig::ChannelConfig() {
19 Reset(); 20 Reset();
(...skipping 22 matching lines...) Expand all
42 43
43 ScreenResolution::ScreenResolution(int width, int height) 44 ScreenResolution::ScreenResolution(int width, int height)
44 : width(width), 45 : width(width),
45 height(height) { 46 height(height) {
46 } 47 }
47 48
48 bool ScreenResolution::IsValid() const { 49 bool ScreenResolution::IsValid() const {
49 return width > 0 && height > 0; 50 return width > 0 && height > 0;
50 } 51 }
51 52
52 ChromotocolConfig::ChromotocolConfig() { } 53 SessionConfig::SessionConfig() { }
53 54
54 ChromotocolConfig::ChromotocolConfig(const ChromotocolConfig& config) 55 SessionConfig::SessionConfig(const SessionConfig& config)
55 : control_config_(config.control_config_), 56 : control_config_(config.control_config_),
56 event_config_(config.event_config_), 57 event_config_(config.event_config_),
57 video_config_(config.video_config_), 58 video_config_(config.video_config_),
58 initial_resolution_(config.initial_resolution_) { 59 initial_resolution_(config.initial_resolution_) {
59 } 60 }
60 61
61 ChromotocolConfig::~ChromotocolConfig() { } 62 SessionConfig::~SessionConfig() { }
62 63
63 void ChromotocolConfig::SetControlConfig(const ChannelConfig& control_config) { 64 void SessionConfig::SetControlConfig(const ChannelConfig& control_config) {
64 control_config_ = control_config; 65 control_config_ = control_config;
65 } 66 }
66 void ChromotocolConfig::SetEventConfig(const ChannelConfig& event_config) { 67 void SessionConfig::SetEventConfig(const ChannelConfig& event_config) {
67 event_config_ = event_config; 68 event_config_ = event_config;
68 } 69 }
69 void ChromotocolConfig::SetVideoConfig(const ChannelConfig& video_config) { 70 void SessionConfig::SetVideoConfig(const ChannelConfig& video_config) {
70 video_config_ = video_config; 71 video_config_ = video_config;
71 } 72 }
72 void ChromotocolConfig::SetInitialResolution(const ScreenResolution& resolution) { 73 void SessionConfig::SetInitialResolution(const ScreenResolution& resolution) {
73 initial_resolution_ = resolution; 74 initial_resolution_ = resolution;
74 } 75 }
75 76
76 ChromotocolConfig* ChromotocolConfig::Clone() const { 77 SessionConfig* SessionConfig::Clone() const {
77 return new ChromotocolConfig(*this); 78 return new SessionConfig(*this);
78 } 79 }
79 80
80 // static 81 // static
81 ChromotocolConfig* ChromotocolConfig::CreateDefault() { 82 SessionConfig* SessionConfig::CreateDefault() {
82 ChromotocolConfig* result = new ChromotocolConfig(); 83 SessionConfig* result = new SessionConfig();
83 result->SetControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 84 result->SetControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
84 kDefaultStreamVersion, 85 kDefaultStreamVersion,
85 ChannelConfig::CODEC_UNDEFINED)); 86 ChannelConfig::CODEC_UNDEFINED));
86 result->SetEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 87 result->SetEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
87 kDefaultStreamVersion, 88 kDefaultStreamVersion,
88 ChannelConfig::CODEC_UNDEFINED)); 89 ChannelConfig::CODEC_UNDEFINED));
89 result->SetVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 90 result->SetVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
90 kDefaultStreamVersion, 91 kDefaultStreamVersion,
91 ChannelConfig::CODEC_ZIP)); 92 ChannelConfig::CODEC_ZIP));
92 return result; 93 return result;
93 } 94 }
94 95
95 CandidateChromotocolConfig::CandidateChromotocolConfig() { } 96 CandidateSessionConfig::CandidateSessionConfig() { }
96 97
97 CandidateChromotocolConfig::CandidateChromotocolConfig( 98 CandidateSessionConfig::CandidateSessionConfig(
98 const CandidateChromotocolConfig& config) 99 const CandidateSessionConfig& config)
99 : control_configs_(config.control_configs_), 100 : control_configs_(config.control_configs_),
100 event_configs_(config.event_configs_), 101 event_configs_(config.event_configs_),
101 video_configs_(config.video_configs_), 102 video_configs_(config.video_configs_),
102 initial_resolution_(config.initial_resolution_) { 103 initial_resolution_(config.initial_resolution_) {
103 } 104 }
104 105
105 CandidateChromotocolConfig::~CandidateChromotocolConfig() { } 106 CandidateSessionConfig::~CandidateSessionConfig() { }
106 107
107 void CandidateChromotocolConfig::AddControlConfig( 108 void CandidateSessionConfig::AddControlConfig(
108 const ChannelConfig& control_config) { 109 const ChannelConfig& control_config) {
109 control_configs_.push_back(control_config); 110 control_configs_.push_back(control_config);
110 } 111 }
111 112
112 void CandidateChromotocolConfig::AddEventConfig( 113 void CandidateSessionConfig::AddEventConfig(
113 const ChannelConfig& event_config) { 114 const ChannelConfig& event_config) {
114 event_configs_.push_back(event_config); 115 event_configs_.push_back(event_config);
115 } 116 }
116 117
117 void CandidateChromotocolConfig::AddVideoConfig( 118 void CandidateSessionConfig::AddVideoConfig(
118 const ChannelConfig& video_config) { 119 const ChannelConfig& video_config) {
119 video_configs_.push_back(video_config); 120 video_configs_.push_back(video_config);
120 } 121 }
121 122
122 void CandidateChromotocolConfig::SetInitialResolution( 123 void CandidateSessionConfig::SetInitialResolution(
123 const ScreenResolution& resolution) { 124 const ScreenResolution& resolution) {
124 initial_resolution_ = resolution; 125 initial_resolution_ = resolution;
125 } 126 }
126 127
127 ChromotocolConfig* CandidateChromotocolConfig::Select( 128 SessionConfig* CandidateSessionConfig::Select(
128 const CandidateChromotocolConfig* client_config, 129 const CandidateSessionConfig* client_config,
129 bool force_host_resolution) { 130 bool force_host_resolution) {
130 ChannelConfig control_config; 131 ChannelConfig control_config;
131 ChannelConfig event_config; 132 ChannelConfig event_config;
132 ChannelConfig video_config; 133 ChannelConfig video_config;
133 if (!SelectCommonChannelConfig( 134 if (!SelectCommonChannelConfig(
134 control_configs_, client_config->control_configs_, &control_config) || 135 control_configs_, client_config->control_configs_, &control_config) ||
135 !SelectCommonChannelConfig( 136 !SelectCommonChannelConfig(
136 event_configs_, client_config->event_configs_, &event_config) || 137 event_configs_, client_config->event_configs_, &event_config) ||
137 !SelectCommonChannelConfig( 138 !SelectCommonChannelConfig(
138 video_configs_, client_config->video_configs_, &video_config)) { 139 video_configs_, client_config->video_configs_, &video_config)) {
139 return NULL; 140 return NULL;
140 } 141 }
141 142
142 ChromotocolConfig* result = ChromotocolConfig::CreateDefault(); 143 SessionConfig* result = SessionConfig::CreateDefault();
143 result->SetControlConfig(control_config); 144 result->SetControlConfig(control_config);
144 result->SetEventConfig(event_config); 145 result->SetEventConfig(event_config);
145 result->SetVideoConfig(video_config); 146 result->SetVideoConfig(video_config);
146 147
147 if (force_host_resolution) { 148 if (force_host_resolution) {
148 result->SetInitialResolution(initial_resolution()); 149 result->SetInitialResolution(initial_resolution());
149 } else { 150 } else {
150 result->SetInitialResolution(client_config->initial_resolution()); 151 result->SetInitialResolution(client_config->initial_resolution());
151 } 152 }
152 153
153 return result; 154 return result;
154 } 155 }
155 156
156 bool CandidateChromotocolConfig::IsSupported( 157 bool CandidateSessionConfig::IsSupported(
157 const ChromotocolConfig* config) const { 158 const SessionConfig* config) const {
158 return 159 return
159 IsChannelConfigSupported(control_configs_, config->control_config()) && 160 IsChannelConfigSupported(control_configs_, config->control_config()) &&
160 IsChannelConfigSupported(event_configs_, config->event_config()) && 161 IsChannelConfigSupported(event_configs_, config->event_config()) &&
161 IsChannelConfigSupported(video_configs_, config->video_config()) && 162 IsChannelConfigSupported(video_configs_, config->video_config()) &&
162 config->initial_resolution().IsValid(); 163 config->initial_resolution().IsValid();
163 } 164 }
164 165
165 ChromotocolConfig* CandidateChromotocolConfig::GetFinalConfig() const { 166 SessionConfig* CandidateSessionConfig::GetFinalConfig() const {
166 if (control_configs_.size() != 1 || 167 if (control_configs_.size() != 1 ||
167 event_configs_.size() != 1 || 168 event_configs_.size() != 1 ||
168 video_configs_.size() != 1) { 169 video_configs_.size() != 1) {
169 return NULL; 170 return NULL;
170 } 171 }
171 172
172 ChromotocolConfig* result = ChromotocolConfig::CreateDefault(); 173 SessionConfig* result = SessionConfig::CreateDefault();
173 result->SetControlConfig(control_configs_.front()); 174 result->SetControlConfig(control_configs_.front());
174 result->SetEventConfig(event_configs_.front()); 175 result->SetEventConfig(event_configs_.front());
175 result->SetVideoConfig(video_configs_.front()); 176 result->SetVideoConfig(video_configs_.front());
176 result->SetInitialResolution(initial_resolution_); 177 result->SetInitialResolution(initial_resolution_);
177 return result; 178 return result;
178 } 179 }
179 180
180 // static 181 // static
181 bool CandidateChromotocolConfig::SelectCommonChannelConfig( 182 bool CandidateSessionConfig::SelectCommonChannelConfig(
182 const std::vector<ChannelConfig>& host_configs, 183 const std::vector<ChannelConfig>& host_configs,
183 const std::vector<ChannelConfig>& client_configs, 184 const std::vector<ChannelConfig>& client_configs,
184 ChannelConfig* config) { 185 ChannelConfig* config) {
185 // Usually each of these vectors will contain just several elements, 186 // Usually each of these vectors will contain just several elements,
186 // so iterating over all of them is not a problem. 187 // so iterating over all of them is not a problem.
187 std::vector<ChannelConfig>::const_iterator it; 188 std::vector<ChannelConfig>::const_iterator it;
188 for (it = client_configs.begin(); it != client_configs.end(); ++it) { 189 for (it = client_configs.begin(); it != client_configs.end(); ++it) {
189 if (IsChannelConfigSupported(host_configs, *it)) { 190 if (IsChannelConfigSupported(host_configs, *it)) {
190 *config = *it; 191 *config = *it;
191 return true; 192 return true;
192 } 193 }
193 } 194 }
194 return false; 195 return false;
195 } 196 }
196 197
197 // static 198 // static
198 bool CandidateChromotocolConfig::IsChannelConfigSupported( 199 bool CandidateSessionConfig::IsChannelConfigSupported(
199 const std::vector<ChannelConfig>& vector, 200 const std::vector<ChannelConfig>& vector,
200 const ChannelConfig& value) { 201 const ChannelConfig& value) {
201 return std::find(vector.begin(), vector.end(), value) != vector.end(); 202 return std::find(vector.begin(), vector.end(), value) != vector.end();
202 } 203 }
203 204
204 CandidateChromotocolConfig* CandidateChromotocolConfig::Clone() const { 205 CandidateSessionConfig* CandidateSessionConfig::Clone() const {
205 return new CandidateChromotocolConfig(*this); 206 return new CandidateSessionConfig(*this);
206 } 207 }
207 208
208 // static 209 // static
209 CandidateChromotocolConfig* CandidateChromotocolConfig::CreateEmpty() { 210 CandidateSessionConfig* CandidateSessionConfig::CreateEmpty() {
210 return new CandidateChromotocolConfig(); 211 return new CandidateSessionConfig();
211 } 212 }
212 213
213 // static 214 // static
214 CandidateChromotocolConfig* CandidateChromotocolConfig::CreateFrom( 215 CandidateSessionConfig* CandidateSessionConfig::CreateFrom(
215 const ChromotocolConfig* config) { 216 const SessionConfig* config) {
216 CandidateChromotocolConfig* result = CreateEmpty(); 217 CandidateSessionConfig* result = CreateEmpty();
217 result->AddControlConfig(config->control_config()); 218 result->AddControlConfig(config->control_config());
218 result->AddEventConfig(config->event_config()); 219 result->AddEventConfig(config->event_config());
219 result->AddVideoConfig(config->video_config()); 220 result->AddVideoConfig(config->video_config());
220 result->SetInitialResolution(config->initial_resolution()); 221 result->SetInitialResolution(config->initial_resolution());
221 return result; 222 return result;
222 } 223 }
223 224
224 // static 225 // static
225 CandidateChromotocolConfig* CandidateChromotocolConfig::CreateDefault() { 226 CandidateSessionConfig* CandidateSessionConfig::CreateDefault() {
226 CandidateChromotocolConfig* result = CreateEmpty(); 227 CandidateSessionConfig* result = CreateEmpty();
227 result->AddControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 228 result->AddControlConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
228 kDefaultStreamVersion, 229 kDefaultStreamVersion,
229 ChannelConfig::CODEC_UNDEFINED)); 230 ChannelConfig::CODEC_UNDEFINED));
230 result->AddEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 231 result->AddEventConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
231 kDefaultStreamVersion, 232 kDefaultStreamVersion,
232 ChannelConfig::CODEC_UNDEFINED)); 233 ChannelConfig::CODEC_UNDEFINED));
233 234
234 result->AddVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 235 result->AddVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
235 kDefaultStreamVersion, 236 kDefaultStreamVersion,
236 ChannelConfig::CODEC_ZIP)); 237 ChannelConfig::CODEC_ZIP));
237 result->AddVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_SRTP, 238 result->AddVideoConfig(ChannelConfig(ChannelConfig::TRANSPORT_SRTP,
238 kDefaultStreamVersion, 239 kDefaultStreamVersion,
239 ChannelConfig::CODEC_VP8)); 240 ChannelConfig::CODEC_VP8));
240 return result; 241 return result;
241 } 242 }
242 243
244 } // namespace protocol
243 } // namespace remoting 245 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/session_config.h ('k') | remoting/protocol/session_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698