• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #ifndef CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_IMAGE_WRITER_PRIVATE_API_H_
5 #define CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_IMAGE_WRITER_PRIVATE_API_H_
6 
7 #include "chrome/browser/extensions/api/image_writer_private/removable_storage_provider.h"
8 #include "chrome/browser/extensions/chrome_extension_function.h"
9 #include "chrome/common/extensions/api/image_writer_private.h"
10 
11 namespace extensions {
12 
13 class ImageWriterPrivateWriteFromUrlFunction
14     : public ChromeAsyncExtensionFunction {
15  public:
16   DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.writeFromUrl",
17                              IMAGEWRITER_WRITEFROMURL)
18   ImageWriterPrivateWriteFromUrlFunction();
19 
20  private:
21   virtual ~ImageWriterPrivateWriteFromUrlFunction();
22   virtual bool RunAsync() OVERRIDE;
23   void OnWriteStarted(bool success, const std::string& error);
24 };
25 
26 class ImageWriterPrivateWriteFromFileFunction
27     : public ChromeAsyncExtensionFunction {
28  public:
29   DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.writeFromFile",
30                              IMAGEWRITER_WRITEFROMFILE)
31   ImageWriterPrivateWriteFromFileFunction();
32 
33  private:
34   virtual ~ImageWriterPrivateWriteFromFileFunction();
35   virtual bool RunAsync() OVERRIDE;
36   void OnWriteStarted(bool success, const std::string& error);
37 };
38 
39 class ImageWriterPrivateCancelWriteFunction
40     : public ChromeAsyncExtensionFunction {
41  public:
42   DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.cancelWrite",
43                              IMAGEWRITER_CANCELWRITE)
44   ImageWriterPrivateCancelWriteFunction();
45 
46  private:
47   virtual ~ImageWriterPrivateCancelWriteFunction();
48   virtual bool RunAsync() OVERRIDE;
49   void OnWriteCancelled(bool success, const std::string& error);
50 };
51 
52 class ImageWriterPrivateDestroyPartitionsFunction
53     : public ChromeAsyncExtensionFunction {
54  public:
55   DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.destroyPartitions",
56                              IMAGEWRITER_DESTROYPARTITIONS)
57   ImageWriterPrivateDestroyPartitionsFunction();
58 
59  private:
60   virtual ~ImageWriterPrivateDestroyPartitionsFunction();
61   virtual bool RunAsync() OVERRIDE;
62   void OnDestroyComplete(bool success, const std::string& error);
63 };
64 
65 class ImageWriterPrivateListRemovableStorageDevicesFunction
66     : public ChromeAsyncExtensionFunction {
67   public:
68     DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.listRemovableStorageDevices",
69                                IMAGEWRITER_LISTREMOVABLESTORAGEDEVICES);
70   ImageWriterPrivateListRemovableStorageDevicesFunction();
71 
72  private:
73   virtual ~ImageWriterPrivateListRemovableStorageDevicesFunction();
74   virtual bool RunAsync() OVERRIDE;
75   void OnDeviceListReady(scoped_refptr<StorageDeviceList> device_list,
76                          bool success);
77 };
78 
79 }  // namespace extensions
80 
81 #endif  // CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_IMAGE_WRITER_PRIVATE_API_H_
82