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