- add sources.
[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   virtual ~ImageWriterPrivateWriteFromUrlFunction();
22   virtual bool RunImpl() 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 RunImpl() 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 RunImpl() 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 RunImpl() OVERRIDE;
62 };
63
64 class ImageWriterPrivateListRemovableStorageDevicesFunction
65     : public ChromeAsyncExtensionFunction {
66   public:
67     DECLARE_EXTENSION_FUNCTION("imageWriterPrivate.listRemovableStorageDevices",
68                                IMAGEWRITER_LISTREMOVABLESTORAGEDEVICES);
69   ImageWriterPrivateListRemovableStorageDevicesFunction();
70
71  private:
72   virtual ~ImageWriterPrivateListRemovableStorageDevicesFunction();
73   virtual bool RunImpl() OVERRIDE;
74   void OnDeviceListReady(scoped_refptr<StorageDeviceList> device_list,
75                          bool success);
76 };
77
78 }  // namespace extensions
79
80 #endif  // CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_IMAGE_WRITER_PRIVATE_API_H_