/* * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; namespace Tizen.System.Usb { /// /// USB Bulk Endpoint class. /// public class UsbBulkEndpoint : UsbEndpoint { internal UsbBulkEndpoint(UsbInterface parent, Interop.UsbEndpointHandle handle) : base(parent, handle) { } /// /// Performs a USB transfer on given endpoint. Direction of transfer is determined by the endpoint. /// /// Suitably-sized data buffer for either input or output (depending on endpoint). /// /// For writes, the number of bytes from data to be sent, for reads the maximum number of bytes to receive /// into the data buffer. /// /// /// Time (in milliseconds) that this function should wait for before giving up due to no response being /// received(for an unlimited timeout 0 value should be used). /// /// Number of bytes actually transferred. /// Throws exception if device is disconnected or not opened for operation. /// Throws exception if transfer timed-out. public int Transfer(byte[] buffer, int length, uint timeout) { return TransferImpl(buffer, length, timeout); } } }