Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / image_writer_private / image_writer_private_api.h
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   ~ImageWriterPrivateWriteFromUrlFunction() override;
22   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   ~ImageWriterPrivateWriteFromFileFunction() override;
35   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   ~ImageWriterPrivateCancelWriteFunction() override;
48   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   ~ImageWriterPrivateDestroyPartitionsFunction() override;
61   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   ~ImageWriterPrivateListRemovableStorageDevicesFunction() override;
74   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_