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_REMOVABLE_STORAGE_PROVIDER_H_
5 #define CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_REMOVABLE_STORAGE_PROVIDER_H_
7 #include "base/callback.h"
8 #include "chrome/common/extensions/api/image_writer_private.h"
9 #include "chrome/common/ref_counted_util.h"
11 namespace extensions
{
13 typedef RefCountedVector
<linked_ptr
14 <api::image_writer_private::RemovableStorageDevice
> > StorageDeviceList
;
16 // Abstraction for platform specific implementations of listing removable
18 class RemovableStorageProvider
{
20 typedef base::Callback
<void(scoped_refptr
<StorageDeviceList
>, bool)>
21 DeviceListReadyCallback
;
22 static void GetAllDevices(DeviceListReadyCallback callback
);
24 static bool GetDevicesOnFileThread(scoped_refptr
<StorageDeviceList
>);
28 } // namespace extensions
30 #endif // CHROME_BROWSER_EXTENSIONS_API_IMAGE_WRITER_PRIVATE_REMOVABLE_STORAGE_PROVIDER_H_