summaryrefslogtreecommitdiffstats
path: root/chrome/utility/image_writer/image_writer_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/utility/image_writer/image_writer_handler.h')
-rw-r--r--chrome/utility/image_writer/image_writer_handler.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/chrome/utility/image_writer/image_writer_handler.h b/chrome/utility/image_writer/image_writer_handler.h
new file mode 100644
index 0000000..5763f96
--- /dev/null
+++ b/chrome/utility/image_writer/image_writer_handler.h
@@ -0,0 +1,51 @@
+// Copyright 2014 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.
+
+#ifndef CHROME_UTILITY_IMAGE_WRITER_IMAGE_WRITER_HANDLER_H_
+#define CHROME_UTILITY_IMAGE_WRITER_IMAGE_WRITER_HANDLER_H_
+
+#include "chrome/utility/image_writer/image_writer.h"
+#include "chrome/utility/utility_message_handler.h"
+#include "ipc/ipc_message.h"
+
+namespace base {
+class FilePath;
+}
+
+namespace image_writer {
+
+// A handler for messages related to writing images. This class is added as a
+// handler in chrome::ChromeContentUtilityClient.
+class ImageWriterHandler : public chrome::UtilityMessageHandler {
+ public:
+ ImageWriterHandler();
+ virtual ~ImageWriterHandler();
+
+ // Methods for sending the different messages back to the browser process.
+ // Generally should be called by chrome::image_writer::ImageWriter.
+ virtual void SendSucceeded();
+ virtual void SendCancelled();
+ virtual void SendFailed(const std::string& message);
+ virtual void SendProgress(int64 progress);
+
+ private:
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
+
+ // Small wrapper for sending on the UtilityProcess.
+ void Send(IPC::Message* msg);
+
+ // Message handlers.
+ void OnWriteStart(const base::FilePath& image, const base::FilePath& device);
+ void OnVerifyStart(const base::FilePath& image, const base::FilePath& device);
+ void OnCancel();
+
+ // Checks if a path is a valid target device.
+ bool IsValidDevice(const base::FilePath& device);
+
+ ImageWriter image_writer_;
+};
+
+} // namespace image_writer
+
+#endif // CHROME_UTILITY_IMAGE_WRITER_IMAGE_WRITER_HANDLER_H_