#ifndef COMPONENTS_STORAGE_MONITOR_TEST_PORTABLE_DEVICE_WATCHER_WIN_H_
#define COMPONENTS_STORAGE_MONITOR_TEST_PORTABLE_DEVICE_WATCHER_WIN_H_
#include <string>
#include "base/strings/string16.h"
#include "components/storage_monitor/portable_device_watcher_win.h"
namespace storage_monitor {
class TestPortableDeviceWatcherWin : public PortableDeviceWatcherWin {
public:
static const base::char16 kMTPDeviceWithMultipleStorages[];
static const base::char16 kMTPDeviceWithInvalidInfo[];
static const base::char16 kMTPDeviceWithValidInfo[];
static const char kStorageUniqueIdA[];
TestPortableDeviceWatcherWin();
virtual ~TestPortableDeviceWatcherWin();
static std::string GetMTPStorageUniqueId(
const base::string16& pnp_device_id,
const base::string16& storage_object_id);
static PortableDeviceWatcherWin::StorageObjectIDs GetMTPStorageObjectIds(
const base::string16& pnp_device_id);
static void GetMTPStorageDetails(const base::string16& pnp_device_id,
const base::string16& storage_object_id,
base::string16* device_location,
std::string* unique_id,
base::string16* name);
static PortableDeviceWatcherWin::StorageObjects GetDeviceStorageObjects(
const base::string16& pnp_device_id);
void set_use_dummy_mtp_storage_info(bool use_dummy_info) {
use_dummy_mtp_storage_info_ = use_dummy_info;
}
private:
virtual void EnumerateAttachedDevices() OVERRIDE;
virtual void HandleDeviceAttachEvent(
const base::string16& pnp_device_id) OVERRIDE;
virtual bool GetMTPStorageInfoFromDeviceId(
const std::string& storage_device_id,
base::string16* device_location,
base::string16* storage_object_id) const OVERRIDE;
bool use_dummy_mtp_storage_info_;
DISALLOW_COPY_AND_ASSIGN(TestPortableDeviceWatcherWin);
};
}
#endif