| OLD | NEW |
| 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 "chrome/browser/chromeos/imageburner/burn_manager.h" | 5 #include "chrome/browser/chromeos/imageburner/burn_manager.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| 11 #include "chrome/browser/browser_process.h" | 11 #include "chrome/browser/browser_process.h" |
| 12 #include "chrome/browser/chromeos/cros/burn_library.h" | 12 #include "chrome/browser/chromeos/cros/burn_library.h" |
| 13 #include "chrome/browser/chromeos/cros/cros_library.h" | 13 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 14 #include "chrome/browser/chromeos/net/connectivity_state_helper.h" |
| 14 #include "chrome/browser/chromeos/system/statistics_provider.h" | 15 #include "chrome/browser/chromeos/system/statistics_provider.h" |
| 15 #include "chrome/common/chrome_paths.h" | 16 #include "chrome/common/chrome_paths.h" |
| 16 #include "content/public/browser/browser_thread.h" | 17 #include "content/public/browser/browser_thread.h" |
| 17 #include "grit/generated_resources.h" | 18 #include "grit/generated_resources.h" |
| 18 #include "net/url_request/url_fetcher.h" | 19 #include "net/url_request/url_fetcher.h" |
| 19 #include "net/url_request/url_request_status.h" | 20 #include "net/url_request/url_request_status.h" |
| 20 | 21 |
| 21 using content::BrowserThread; | 22 using content::BrowserThread; |
| 22 | 23 |
| 23 namespace chromeos { | 24 namespace chromeos { |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 // | 198 // |
| 198 //////////////////////////////////////////////////////////////////////////////// | 199 //////////////////////////////////////////////////////////////////////////////// |
| 199 | 200 |
| 200 BurnManager::BurnManager() | 201 BurnManager::BurnManager() |
| 201 : device_handler_(disks::DiskMountManager::GetInstance()), | 202 : device_handler_(disks::DiskMountManager::GetInstance()), |
| 202 config_file_url_(kConfigFileUrl), | 203 config_file_url_(kConfigFileUrl), |
| 203 config_file_fetched_(false), | 204 config_file_fetched_(false), |
| 204 state_machine_(new StateMachine()), | 205 state_machine_(new StateMachine()), |
| 205 bytes_image_download_progress_last_reported_(0), | 206 bytes_image_download_progress_last_reported_(0), |
| 206 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { | 207 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { |
| 207 CrosLibrary::Get()->GetNetworkLibrary()->AddNetworkManagerObserver(this); | 208 ConnectivityStateHelper::Get()->AddNetworkManagerObserver(this); |
| 208 CrosLibrary::Get()->GetBurnLibrary()->AddObserver(this); | 209 CrosLibrary::Get()->GetBurnLibrary()->AddObserver(this); |
| 209 base::WeakPtr<BurnManager> weak_ptr(weak_ptr_factory_.GetWeakPtr()); | 210 base::WeakPtr<BurnManager> weak_ptr(weak_ptr_factory_.GetWeakPtr()); |
| 210 device_handler_.SetCallbacks( | 211 device_handler_.SetCallbacks( |
| 211 base::Bind(&BurnManager::NotifyDeviceAdded, weak_ptr), | 212 base::Bind(&BurnManager::NotifyDeviceAdded, weak_ptr), |
| 212 base::Bind(&BurnManager::NotifyDeviceRemoved, weak_ptr)); | 213 base::Bind(&BurnManager::NotifyDeviceRemoved, weak_ptr)); |
| 213 } | 214 } |
| 214 | 215 |
| 215 BurnManager::~BurnManager() { | 216 BurnManager::~BurnManager() { |
| 216 if (!image_dir_.empty()) { | 217 if (!image_dir_.empty()) { |
| 217 file_util::Delete(image_dir_, true); | 218 file_util::Delete(image_dir_, true); |
| 218 } | 219 } |
| 219 CrosLibrary::Get()->GetBurnLibrary()->RemoveObserver(this); | 220 CrosLibrary::Get()->GetBurnLibrary()->RemoveObserver(this); |
| 220 CrosLibrary::Get()->GetNetworkLibrary()->RemoveNetworkManagerObserver(this); | 221 ConnectivityStateHelper::Get()->RemoveNetworkManagerObserver(this); |
| 221 } | 222 } |
| 222 | 223 |
| 223 // static | 224 // static |
| 224 void BurnManager::Initialize() { | 225 void BurnManager::Initialize() { |
| 225 if (g_burn_manager) { | 226 if (g_burn_manager) { |
| 226 LOG(WARNING) << "BurnManager was already initialized"; | 227 LOG(WARNING) << "BurnManager was already initialized"; |
| 227 return; | 228 return; |
| 228 } | 229 } |
| 229 g_burn_manager = new BurnManager(); | 230 g_burn_manager = new BurnManager(); |
| 230 VLOG(1) << "BurnManager initialized"; | 231 VLOG(1) << "BurnManager initialized"; |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 // The burning task is successfully done. | 412 // The burning task is successfully done. |
| 412 // Update the state. | 413 // Update the state. |
| 413 state_machine_->OnSuccess(); | 414 state_machine_->OnSuccess(); |
| 414 } | 415 } |
| 415 | 416 |
| 416 // Proxy the BurnLibrary callback to observers. | 417 // Proxy the BurnLibrary callback to observers. |
| 417 FOR_EACH_OBSERVER( | 418 FOR_EACH_OBSERVER( |
| 418 Observer, observers_, OnBurnProgressUpdated(event, status)); | 419 Observer, observers_, OnBurnProgressUpdated(event, status)); |
| 419 } | 420 } |
| 420 | 421 |
| 421 void BurnManager::OnNetworkManagerChanged(NetworkLibrary* obj) { | 422 void BurnManager::NetworkManagerChanged() { |
| 422 // TODO(hidehiko): Split this into a class to write tests. | 423 // TODO(hidehiko): Split this into a class to write tests. |
| 423 if (state_machine_->state() == StateMachine::INITIAL && IsNetworkConnected()) | 424 if (state_machine_->state() == StateMachine::INITIAL && IsNetworkConnected()) |
| 424 FOR_EACH_OBSERVER(Observer, observers_, OnNetworkDetected()); | 425 FOR_EACH_OBSERVER(Observer, observers_, OnNetworkDetected()); |
| 425 | 426 |
| 426 if (state_machine_->state() == StateMachine::DOWNLOADING && | 427 if (state_machine_->state() == StateMachine::DOWNLOADING && |
| 427 !IsNetworkConnected()) | 428 !IsNetworkConnected()) |
| 428 OnError(IDS_IMAGEBURN_NETWORK_ERROR); | 429 OnError(IDS_IMAGEBURN_NETWORK_ERROR); |
| 429 } | 430 } |
| 430 | 431 |
| 431 void BurnManager::ConfigFileFetched(bool fetched, const std::string& content) { | 432 void BurnManager::ConfigFileFetched(bool fetched, const std::string& content) { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 // Note: in theory, this is not a part of notification, but cancelling | 468 // Note: in theory, this is not a part of notification, but cancelling |
| 468 // the running burning task. However, there is no good place to be in the | 469 // the running burning task. However, there is no good place to be in the |
| 469 // current code. | 470 // current code. |
| 470 // TODO(hidehiko): Clean this up after refactoring. | 471 // TODO(hidehiko): Clean this up after refactoring. |
| 471 OnError(IDS_IMAGEBURN_DEVICE_NOT_FOUND_ERROR); | 472 OnError(IDS_IMAGEBURN_DEVICE_NOT_FOUND_ERROR); |
| 472 } | 473 } |
| 473 } | 474 } |
| 474 | 475 |
| 475 } // namespace imageburner | 476 } // namespace imageburner |
| 476 } // namespace chromeos | 477 } // namespace chromeos |
| OLD | NEW |