blob: 5d27e4745b6bbbe489bf0929e346229a0a9c4fdb [file] [log] [blame]
// Copyright 2015 The Chromium 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 USBInTransferResult_h
#define USBInTransferResult_h
#include "bindings/core/v8/ScriptWrappable.h"
#include "core/dom/DOMArrayBuffer.h"
#include "platform/heap/Handle.h"
#include "public/platform/modules/webusb/WebUSBTransferInfo.h"
#include "wtf/text/WTFString.h"
namespace blink {
class USBInTransferResult final
: public GarbageCollectedFinalized<USBInTransferResult>
, public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
static USBInTransferResult* create(const String& status, const WebVector<uint8_t> data)
{
return new USBInTransferResult(status, data);
}
USBInTransferResult(const String& status, const WebVector<uint8_t> data)
: m_status(status)
, m_data(DOMArrayBuffer::create(data.data(), data.size()))
{
}
virtual ~USBInTransferResult() { }
String status() const { return m_status; }
PassRefPtr<DOMArrayBuffer> data() const { return m_data; }
DEFINE_INLINE_TRACE() { }
private:
const String m_status;
const RefPtr<DOMArrayBuffer> m_data;
};
} // namespace blink
#endif // USBInTransferResult_h