| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/media/test_license_server.h" | 5 #include "chrome/browser/media/test_license_server.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/process/kill.h" | 9 #include "base/process/kill.h" |
| 10 #include "base/process/launch.h" | 10 #include "base/process/launch.h" |
| 11 #include "chrome/browser/media/test_license_server_config.h" | 11 #include "chrome/browser/media/test_license_server_config.h" |
| 12 | 12 |
| 13 | 13 |
| 14 TestLicenseServer::TestLicenseServer( | 14 TestLicenseServer::TestLicenseServer( |
| 15 scoped_ptr<TestLicenseServerConfig> server_config) | 15 scoped_ptr<TestLicenseServerConfig> server_config) |
| 16 : server_config_(server_config.Pass()), | 16 : server_config_(server_config.Pass()), |
| 17 license_server_process_(base::kNullProcessHandle) { | 17 license_server_process_(base::kNullProcessHandle) { |
| 18 } | 18 } |
| 19 | 19 |
| 20 TestLicenseServer::~TestLicenseServer() { | 20 TestLicenseServer::~TestLicenseServer() { |
| 21 Stop(); | 21 Stop(); |
| 22 } | 22 } |
| 23 | 23 |
| 24 bool TestLicenseServer::Start() { | 24 bool TestLicenseServer::Start() { |
| 25 if (license_server_process_ != base::kNullProcessHandle) | 25 if (license_server_process_ != base::kNullProcessHandle) |
| 26 return true; | 26 return true; |
| 27 | 27 |
| 28 if (!server_config_->IsPlatformSupported()) { | 28 if (!server_config_->IsPlatformSupported()) { |
| 29 VLOG(0) << "License server is not supported on current platform."; | 29 DVLOG(0) << "License server is not supported on current platform."; |
| 30 return false; | 30 return false; |
| 31 } | 31 } |
| 32 | 32 |
| 33 CommandLine command_line(CommandLine::NO_PROGRAM); | 33 CommandLine command_line(CommandLine::NO_PROGRAM); |
| 34 if (!server_config_->GetServerCommandLine(&command_line)) { | 34 if (!server_config_->GetServerCommandLine(&command_line)) { |
| 35 VLOG(0) << "Could not get server command line to launch."; | 35 DVLOG(0) << "Could not get server command line to launch."; |
| 36 return false; | 36 return false; |
| 37 } | 37 } |
| 38 | 38 |
| 39 VLOG(0) << "Starting test license server " << | 39 DVLOG(0) << "Starting test license server " << |
| 40 command_line.GetCommandLineString(); | 40 command_line.GetCommandLineString(); |
| 41 if (!base::LaunchProcess(command_line, base::LaunchOptions(), | 41 if (!base::LaunchProcess(command_line, base::LaunchOptions(), |
| 42 &license_server_process_)) { | 42 &license_server_process_)) { |
| 43 VLOG(0) << "Failed to start test license server!"; | 43 DVLOG(0) << "Failed to start test license server!"; |
| 44 return false; | 44 return false; |
| 45 } | 45 } |
| 46 DCHECK_NE(license_server_process_, base::kNullProcessHandle); | 46 DCHECK_NE(license_server_process_, base::kNullProcessHandle); |
| 47 return true; | 47 return true; |
| 48 } | 48 } |
| 49 | 49 |
| 50 bool TestLicenseServer::Stop() { | 50 bool TestLicenseServer::Stop() { |
| 51 if (license_server_process_ == base::kNullProcessHandle) | 51 if (license_server_process_ == base::kNullProcessHandle) |
| 52 return true; | 52 return true; |
| 53 VLOG(0) << "Killing license server."; | 53 DVLOG(0) << "Killing license server."; |
| 54 bool kill_succeeded = base::KillProcess(license_server_process_, 1, true); | 54 bool kill_succeeded = base::KillProcess(license_server_process_, 1, true); |
| 55 | 55 |
| 56 if (kill_succeeded) { | 56 if (kill_succeeded) { |
| 57 base::CloseProcessHandle(license_server_process_); | 57 base::CloseProcessHandle(license_server_process_); |
| 58 license_server_process_ = base::kNullProcessHandle; | 58 license_server_process_ = base::kNullProcessHandle; |
| 59 } else { | 59 } else { |
| 60 VLOG(1) << "Kill failed?!"; | 60 DVLOG(1) << "Kill failed?!"; |
| 61 } | 61 } |
| 62 return kill_succeeded; | 62 return kill_succeeded; |
| 63 } | 63 } |
| 64 | 64 |
| 65 std::string TestLicenseServer::GetServerURL() { | 65 std::string TestLicenseServer::GetServerURL() { |
| 66 return server_config_->GetServerURL(); | 66 return server_config_->GetServerURL(); |
| 67 } | 67 } |
| OLD | NEW |