embkernel
 All Classes Functions Variables Typedefs Groups Pages
UsbRxStream.hpp
1 //------------------------------------------------------------------------------
2 //This file is part of milkLib.
3 //See license.txt for the full license governing this code.
4 //------------------------------------------------------------------------------
5 
6 #ifndef USB_RX_STREAM_HPP_
7 #define USB_RX_STREAM_HPP_
8 
9 #include "UsbOutCallback.hpp"
10 #include "RtosBuffer.hpp"
11 #include "LibStreamIn.hpp"
12 
13 class UsbRxStream: public UsbOutCallback, public LibStreamIn {
14 public:
15  UsbRxStream(uint8_t ep, size_t size);
16  virtual ~UsbRxStream();
17 
18  virtual int read(void* buffer, int len, Rtos::TICK timeout = Rtos::TICK_INFINITE);
19 private:
20  RtosBuffer mBuffer;
21 protected:
22  virtual int onDataOut(UsbDefs::PKT* pkt);
23 };
24 
25 #endif /* USB_RX_STREAM_HPP_ */