blob: e1382201a15003c88c648e58ed166965c0e0a7d6 [file] [log] [blame]
// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MIST_USB_BULK_TRANSFER_H_
#define MIST_USB_BULK_TRANSFER_H_
#include <base/macros.h>
#include "mist/usb_transfer.h"
namespace mist {
class UsbDevice;
// A USB bulk transfer, which extends UsbTransfer.
class UsbBulkTransfer : public UsbTransfer {
public:
UsbBulkTransfer() = default;
~UsbBulkTransfer() = default;
// Initializes this USB bulk transfer for the specified |endpoint_address| on
// |device| with a transfer buffer size of |length| bytes and a timeout value
// of |timeout| seconds. Returns true on success. If |device| is not open,
// sets |error_| to UsbError::kErrorDeviceNotOpen and returns false.
bool Initialize(const UsbDevice& device,
uint8_t endpoint_address,
int length,
uint32_t timeout);
private:
DISALLOW_COPY_AND_ASSIGN(UsbBulkTransfer);
};
} // namespace mist
#endif // MIST_USB_BULK_TRANSFER_H_