Index: chrome/browser/chromeos/imageburner/burn_controller.cc |
diff --git a/chrome/browser/chromeos/imageburner/burn_controller.cc b/chrome/browser/chromeos/imageburner/burn_controller.cc |
deleted file mode 100644 |
index 01a6d94762bd247cae2b30cc9fded1fce4d4f994..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/imageburner/burn_controller.cc |
+++ /dev/null |
@@ -1,181 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/chromeos/imageburner/burn_controller.h" |
- |
-#include "base/bind.h" |
-#include "base/files/file_path.h" |
-#include "base/memory/weak_ptr.h" |
-#include "chrome/browser/chromeos/imageburner/burn_manager.h" |
-#include "chromeos/network/network_state_handler.h" |
-#include "url/gurl.h" |
- |
-namespace chromeos { |
-namespace imageburner { |
- |
-namespace { |
- |
-// 3.9GB. It is less than 4GB because true device size ussually varies a little. |
-const uint64 kMinDeviceSize = static_cast<uint64>(3.9 * 1000 * 1000 * 1000); |
- |
-class BurnControllerImpl |
- : public BurnController, |
- public StateMachine::Observer, |
- public BurnManager::Observer { |
- public: |
- explicit BurnControllerImpl(BurnController::Delegate* delegate) |
- : burn_manager_(NULL), |
- state_machine_(NULL), |
- working_(false), |
- delegate_(delegate) { |
- burn_manager_ = BurnManager::GetInstance(); |
- burn_manager_->AddObserver(this); |
- state_machine_ = burn_manager_->state_machine(); |
- state_machine_->AddObserver(this); |
- } |
- |
- virtual ~BurnControllerImpl() { |
- state_machine_->RemoveObserver(this); |
- burn_manager_->RemoveObserver(this); |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnDeviceAdded( |
- const disks::DiskMountManager::Disk& disk) override { |
- delegate_->OnDeviceAdded(disk); |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnDeviceRemoved( |
- const disks::DiskMountManager::Disk& disk) override { |
- delegate_->OnDeviceRemoved(disk); |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnNetworkDetected() override { |
- delegate_->OnNetworkDetected(); |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnSuccess() override { |
- delegate_->OnSuccess(); |
- // TODO(hidehiko): Remove |working_| flag. |
- working_ = false; |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnProgressWithRemainingTime( |
- ProgressType progress_type, |
- int64 received_bytes, |
- int64 total_bytes, |
- const base::TimeDelta& estimated_remaining_time) override { |
- delegate_->OnProgressWithRemainingTime( |
- progress_type, received_bytes, total_bytes, estimated_remaining_time); |
- } |
- |
- // BurnManager::Observer override. |
- virtual void OnProgress(ProgressType progress_type, |
- int64 received_bytes, |
- int64 total_bytes) override { |
- delegate_->OnProgress(progress_type, received_bytes, total_bytes); |
- } |
- |
- // StateMachine::Observer interface. |
- virtual void OnBurnStateChanged(StateMachine::State state) override { |
- if (state != StateMachine::INITIAL && !working_) { |
- // User has started burn process, so let's start observing. |
- StartBurnImage(base::FilePath(), base::FilePath()); |
- } |
- } |
- |
- virtual void OnError(int error_message_id) override { |
- delegate_->OnFail(error_message_id); |
- working_ = false; |
- } |
- |
- // BurnController override. |
- virtual void Init() override { |
- if (state_machine_->state() == StateMachine::BURNING) { |
- // There is nothing else left to do but observe burn progress. |
- burn_manager_->DoBurn(); |
- } else if (state_machine_->state() != StateMachine::INITIAL) { |
- // User has started burn process, so let's start observing. |
- StartBurnImage(base::FilePath(), base::FilePath()); |
- } |
- } |
- |
- // BurnController override. |
- virtual std::vector<disks::DiskMountManager::Disk> GetBurnableDevices() |
- override { |
- // Now this is just a proxy to the BurnManager. |
- // TODO(hidehiko): Remove this method. |
- return burn_manager_->GetBurnableDevices(); |
- } |
- |
- // BurnController override. |
- virtual void CancelBurnImage() override { |
- burn_manager_->Cancel(); |
- } |
- |
- // BurnController override. |
- // May be called with empty values if there is a handler that has started |
- // burning, and thus set the target paths. |
- virtual void StartBurnImage(const base::FilePath& target_device_path, |
- const base::FilePath& target_file_path) override { |
- if (!target_device_path.empty() && !target_file_path.empty() && |
- state_machine_->new_burn_posible()) { |
- if (!NetworkHandler::Get()->network_state_handler()->DefaultNetwork()) { |
- delegate_->OnNoNetwork(); |
- return; |
- } |
- burn_manager_->set_target_device_path(target_device_path); |
- burn_manager_->set_target_file_path(target_file_path); |
- uint64 device_size = GetDeviceSize( |
- burn_manager_->target_device_path().value()); |
- if (device_size < kMinDeviceSize) { |
- delegate_->OnDeviceTooSmall(device_size); |
- return; |
- } |
- } |
- if (working_) |
- return; |
- working_ = true; |
- // Send progress signal now so ui doesn't hang in intial state until we get |
- // config file |
- delegate_->OnProgress(DOWNLOADING, 0, 0); |
- if (burn_manager_->GetImageDir().empty()) { |
- burn_manager_->CreateImageDir(); |
- } else { |
- burn_manager_->FetchConfigFile(); |
- } |
- } |
- |
- private: |
- int64 GetDeviceSize(const std::string& device_path) { |
- disks::DiskMountManager* disk_mount_manager = |
- disks::DiskMountManager::GetInstance(); |
- const disks::DiskMountManager::Disk* disk = |
- disk_mount_manager->FindDiskBySourcePath(device_path); |
- return disk ? disk->total_size_in_bytes() : 0; |
- } |
- |
- BurnManager* burn_manager_; |
- StateMachine* state_machine_; |
- bool working_; |
- BurnController::Delegate* delegate_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BurnControllerImpl); |
-}; |
- |
-} // namespace |
- |
-// static |
-BurnController* BurnController::CreateBurnController( |
- content::WebContents* web_contents, |
- Delegate* delegate) { |
- return new BurnControllerImpl(delegate); |
-} |
- |
-} // namespace imageburner |
-} // namespace chromeos |