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

Side by Side Diff: remoting/host/plugin/daemon_controller_linux.cc

Issue 10237012: Don't read Linux host configuration if binary is not on path. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addres comment. Created 8 years, 7 months 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/host/plugin/daemon_controller.h ('k') | no next file » | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/host/plugin/daemon_controller.h" 5 #include "remoting/host/plugin/daemon_controller.h"
6 6
7 #include <unistd.h> 7 #include <unistd.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 // noop 185 // noop
186 } 186 }
187 187
188 FilePath DaemonControllerLinux::GetConfigPath() { 188 FilePath DaemonControllerLinux::GetConfigPath() {
189 std::string filename = "host#" + GetMd5(net::GetHostName()) + ".json"; 189 std::string filename = "host#" + GetMd5(net::GetHostName()) + ".json";
190 return file_util::GetHomeDir(). 190 return file_util::GetHomeDir().
191 Append(".config/chrome-remote-desktop").Append(filename); 191 Append(".config/chrome-remote-desktop").Append(filename);
192 } 192 }
193 193
194 void DaemonControllerLinux::DoGetConfig(const GetConfigCallback& callback) { 194 void DaemonControllerLinux::DoGetConfig(const GetConfigCallback& callback) {
195 JsonHostConfig config(GetConfigPath()); 195 scoped_ptr<base::DictionaryValue> result(new base::DictionaryValue());
196 scoped_ptr<base::DictionaryValue> result;
197 if (config.Read()) {
198 result.reset(new base::DictionaryValue());
199 196
200 std::string value; 197 if (GetState() != remoting::DaemonController::STATE_NOT_IMPLEMENTED) {
201 if (config.GetString(kHostIdConfigPath, &value)) 198 JsonHostConfig config(GetConfigPath());
202 result->SetString(kHostIdConfigPath, value); 199 if (config.Read()) {
203 if (config.GetString(kXmppLoginConfigPath, &value)) 200 std::string value;
204 result->SetString(kXmppLoginConfigPath, value); 201 if (config.GetString(kHostIdConfigPath, &value)) {
202 result->SetString(kHostIdConfigPath, value);
203 }
204 if (config.GetString(kXmppLoginConfigPath, &value)) {
205 result->SetString(kXmppLoginConfigPath, value);
206 }
207 } else {
208 result.reset(); // Return NULL in case of error.
209 }
205 } 210 }
211
206 callback.Run(result.Pass()); 212 callback.Run(result.Pass());
207 } 213 }
208 214
209 void DaemonControllerLinux::DoSetConfigAndStart( 215 void DaemonControllerLinux::DoSetConfigAndStart(
210 scoped_ptr<base::DictionaryValue> config, 216 scoped_ptr<base::DictionaryValue> config,
211 const CompletionCallback& done_callback) { 217 const CompletionCallback& done_callback) {
212 std::vector<std::string> args; 218 std::vector<std::string> args;
213 args.push_back("--explicit-config"); 219 args.push_back("--explicit-config");
214 std::string config_json; 220 std::string config_json;
215 base::JSONWriter::Write(config.get(), &config_json); 221 base::JSONWriter::Write(config.get(), &config_json);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 done_callback.Run(result); 266 done_callback.Run(result);
261 } 267 }
262 268
263 } // namespace 269 } // namespace
264 270
265 scoped_ptr<DaemonController> remoting::DaemonController::Create() { 271 scoped_ptr<DaemonController> remoting::DaemonController::Create() {
266 return scoped_ptr<DaemonController>(new DaemonControllerLinux()); 272 return scoped_ptr<DaemonController>(new DaemonControllerLinux());
267 } 273 }
268 274
269 } // namespace remoting 275 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/plugin/daemon_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698