| Index: chrome/utility/image_writer/image_writer_handler.cc
|
| diff --git a/chrome/utility/image_writer/image_writer_handler.cc b/chrome/utility/image_writer/image_writer_handler.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0437cec1120c9c79df0c80c155b5ea71bf997147
|
| --- /dev/null
|
| +++ b/chrome/utility/image_writer/image_writer_handler.cc
|
| @@ -0,0 +1,79 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this image code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/common/chrome_utility_messages.h"
|
| +#include "chrome/utility/image_writer/error_messages.h"
|
| +#include "chrome/utility/image_writer/image_writer.h"
|
| +#include "chrome/utility/image_writer/image_writer_handler.h"
|
| +#include "content/public/utility/utility_thread.h"
|
| +
|
| +namespace chrome {
|
| +namespace image_writer {
|
| +
|
| +ImageWriterHandler::ImageWriterHandler()
|
| + : weak_factory_(this) {
|
| +}
|
| +
|
| +ImageWriterHandler::~ImageWriterHandler() {
|
| +}
|
| +
|
| +bool ImageWriterHandler::OnMessageReceived(const IPC::Message& message) {
|
| + bool handled = true;
|
| + IPC_BEGIN_MESSAGE_MAP(ImageWriterHandler, message)
|
| + IPC_MESSAGE_HANDLER(ChromeUtilityMsg_ImageWriter_Write, OnWriteStart)
|
| + IPC_MESSAGE_HANDLER(ChromeUtilityMsg_ImageWriter_Verify, OnVerifyStart)
|
| + IPC_MESSAGE_HANDLER(ChromeUtilityMsg_ImageWriter_Cancel, OnCancel)
|
| + IPC_MESSAGE_UNHANDLED(handled = false)
|
| + IPC_END_MESSAGE_MAP()
|
| + return handled;
|
| +}
|
| +
|
| +void ImageWriterHandler::SendProgress(int progress) {
|
| + Send(new ChromeUtilityHostMsg_ImageWriter_Progress(progress));
|
| +}
|
| +void ImageWriterHandler::SendFailed(const std::string& message) {
|
| + Send(new ChromeUtilityHostMsg_ImageWriter_Failed(message));
|
| + image_writer_ = NULL;
|
| +}
|
| +void ImageWriterHandler::SendSucceeded() {
|
| + Send(new ChromeUtilityHostMsg_ImageWriter_Succeeded());
|
| + image_writer_ = NULL;
|
| +}
|
| +
|
| +void ImageWriterHandler::Send(IPC::Message* msg) {
|
| + content::UtilityThread::Get()->Send(msg);
|
| +}
|
| +
|
| +void ImageWriterHandler::OnWriteStart(const base::FilePath& image,
|
| + const base::FilePath& device) {
|
| + if (image_writer_ != NULL) {
|
| + SendFailed(error::kOperationAlreadyInProgress);
|
| + return;
|
| + }
|
| + image_writer_ = new ImageWriter(weak_factory_.GetWeakPtr());
|
| + image_writer_->Write(image, device);
|
| +}
|
| +
|
| +void ImageWriterHandler::OnVerifyStart(const base::FilePath& image,
|
| + const base::FilePath& device) {
|
| + if (image_writer_ != NULL) {
|
| + SendFailed(error::kOperationAlreadyInProgress);
|
| + return;
|
| + }
|
| + image_writer_ = new ImageWriter(weak_factory_.GetWeakPtr());
|
| + image_writer_->Verify(image, device);
|
| +}
|
| +
|
| +void ImageWriterHandler::OnCancel() {
|
| + if (image_writer_ == NULL) {
|
| + // TODO: Error message.
|
| + return;
|
| + }
|
| +
|
| + image_writer_->Cancel();
|
| + image_writer_ = NULL;
|
| +}
|
| +
|
| +} // namespace image_writer
|
| +} // namespace chrome
|
|
|