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

Side by Side Diff: remoting/host/setup/daemon_controller_delegate_win.cc

Issue 1131113004: Convert JsonWriter::Write to taking a const ref for the in-param (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix platform specific stuff Created 5 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/setup/daemon_controller_delegate_win.h" 5 #include "remoting/host/setup/daemon_controller_delegate_win.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 // Extract the unprivileged fields from the configuration. 179 // Extract the unprivileged fields from the configuration.
180 base::DictionaryValue unprivileged_config_dict; 180 base::DictionaryValue unprivileged_config_dict;
181 for (int i = 0; i < arraysize(kUnprivilegedConfigKeys); ++i) { 181 for (int i = 0; i < arraysize(kUnprivilegedConfigKeys); ++i) {
182 const char* key = kUnprivilegedConfigKeys[i]; 182 const char* key = kUnprivilegedConfigKeys[i];
183 base::string16 value; 183 base::string16 value;
184 if (config_dict->GetString(key, &value)) { 184 if (config_dict->GetString(key, &value)) {
185 unprivileged_config_dict.SetString(key, value); 185 unprivileged_config_dict.SetString(key, value);
186 } 186 }
187 } 187 }
188 std::string unprivileged_config_str; 188 std::string unprivileged_config_str;
189 base::JSONWriter::Write(&unprivileged_config_dict, &unprivileged_config_str); 189 base::JSONWriter::Write(unprivileged_config_dict, &unprivileged_config_str);
190 190
191 // Write the full configuration file to a temporary location. 191 // Write the full configuration file to a temporary location.
192 base::FilePath full_config_file_path = 192 base::FilePath full_config_file_path =
193 remoting::GetConfigDir().Append(kConfigFileName); 193 remoting::GetConfigDir().Append(kConfigFileName);
194 if (!WriteConfigFileToTemp(full_config_file_path, 194 if (!WriteConfigFileToTemp(full_config_file_path,
195 kConfigFileSecurityDescriptor, 195 kConfigFileSecurityDescriptor,
196 content)) { 196 content)) {
197 return false; 197 return false;
198 } 198 }
199 199
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 if (!ReadConfig(config_dir.Append(kConfigFileName), &config_old)) { 406 if (!ReadConfig(config_dir.Append(kConfigFileName), &config_old)) {
407 InvokeCompletionCallback(done, false); 407 InvokeCompletionCallback(done, false);
408 return; 408 return;
409 } 409 }
410 410
411 // Merge items from the given config into the old config. 411 // Merge items from the given config into the old config.
412 config_old->MergeDictionary(config.release()); 412 config_old->MergeDictionary(config.release());
413 413
414 // Write the updated config. 414 // Write the updated config.
415 std::string config_updated_str; 415 std::string config_updated_str;
416 base::JSONWriter::Write(config_old.get(), &config_updated_str); 416 base::JSONWriter::Write(*config_old, &config_updated_str);
417 bool result = WriteConfig(config_updated_str); 417 bool result = WriteConfig(config_updated_str);
418 418
419 InvokeCompletionCallback(done, result); 419 InvokeCompletionCallback(done, result);
420 } 420 }
421 421
422 void DaemonControllerDelegateWin::Stop( 422 void DaemonControllerDelegateWin::Stop(
423 const DaemonController::CompletionCallback& done) { 423 const DaemonController::CompletionCallback& done) {
424 bool result = StopDaemon(); 424 bool result = StopDaemon();
425 425
426 InvokeCompletionCallback(done, result); 426 InvokeCompletionCallback(done, result);
(...skipping 24 matching lines...) Expand all
451 bool consent, 451 bool consent,
452 const DaemonController::CompletionCallback& done) { 452 const DaemonController::CompletionCallback& done) {
453 // Record the user's consent. 453 // Record the user's consent.
454 if (!remoting::SetUsageStatsConsent(consent)) { 454 if (!remoting::SetUsageStatsConsent(consent)) {
455 InvokeCompletionCallback(done, false); 455 InvokeCompletionCallback(done, false);
456 return; 456 return;
457 } 457 }
458 458
459 // Set the configuration. 459 // Set the configuration.
460 std::string config_str; 460 std::string config_str;
461 base::JSONWriter::Write(config.release(), &config_str); 461 base::JSONWriter::Write(*config, &config_str);
Evan Stade 2015/05/12 16:40:12 caught a leak
462 462
463 // Determine the config directory path and create it if necessary. 463 // Determine the config directory path and create it if necessary.
464 base::FilePath config_dir = remoting::GetConfigDir(); 464 base::FilePath config_dir = remoting::GetConfigDir();
465 if (!base::CreateDirectory(config_dir)) { 465 if (!base::CreateDirectory(config_dir)) {
466 PLOG(ERROR) << "Failed to create the config directory."; 466 PLOG(ERROR) << "Failed to create the config directory.";
467 InvokeCompletionCallback(done, false); 467 InvokeCompletionCallback(done, false);
468 return; 468 return;
469 } 469 }
470 470
471 if (!WriteConfig(config_str)) { 471 if (!WriteConfig(config_str)) {
472 InvokeCompletionCallback(done, false); 472 InvokeCompletionCallback(done, false);
473 return; 473 return;
474 } 474 }
475 475
476 // Start daemon. 476 // Start daemon.
477 InvokeCompletionCallback(done, StartDaemon()); 477 InvokeCompletionCallback(done, StartDaemon());
478 } 478 }
479 479
480 scoped_refptr<DaemonController> DaemonController::Create() { 480 scoped_refptr<DaemonController> DaemonController::Create() {
481 scoped_ptr<DaemonController::Delegate> delegate( 481 scoped_ptr<DaemonController::Delegate> delegate(
482 new DaemonControllerDelegateWin()); 482 new DaemonControllerDelegateWin());
483 return new DaemonController(delegate.Pass()); 483 return new DaemonController(delegate.Pass());
484 } 484 }
485 485
486 } // namespace remoting 486 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/policy_watcher_unittest.cc ('k') | remoting/host/setup/me2me_native_messaging_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698