• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef USB_REQUEST_H
17 #define USB_REQUEST_H
18 
19 #include "iusb_srv.h"
20 #include "usb_device_pipe.h"
21 #include "usb_endpoint.h"
22 
23 namespace OHOS {
24 namespace USB {
25 class UsbRequest {
26 public:
UsbRequest()27     UsbRequest() {}
~UsbRequest()28     ~UsbRequest() {}
29     int32_t Initialize(const USBDevicePipe &pipe, const USBEndpoint &endpoint);
30     int32_t Queue();
31     int32_t Free();
32     int32_t Abort();
SetPipe(const USBDevicePipe & pipe)33     void SetPipe(const USBDevicePipe &pipe)
34     {
35         this->pipe_ = pipe;
36     }
SetEndpoint(const USBEndpoint & endpoint)37     void SetEndpoint(const USBEndpoint &endpoint)
38     {
39         this->endpoint_ = endpoint;
40     }
SetClientData(std::vector<uint8_t> bufferData)41     void SetClientData(std::vector<uint8_t> bufferData)
42     {
43         clientData_ = bufferData;
44     }
SetReqData(std::vector<uint8_t> bufferData)45     void SetReqData(std::vector<uint8_t> bufferData)
46     {
47         reqData_ = bufferData;
48     }
GetClientData()49     std::vector<uint8_t> &GetClientData()
50     {
51         return clientData_;
52     }
GetReqData()53     std::vector<uint8_t> &GetReqData()
54     {
55         return reqData_;
56     }
GetPipe()57     const USBDevicePipe &GetPipe() const
58     {
59         return pipe_;
60     }
GetEndpoint()61     const USBEndpoint &GetEndpoint() const
62     {
63         return endpoint_;
64     }
65 
66 private:
67     USBDevicePipe pipe_;
68     USBEndpoint endpoint_;
69     std::vector<uint8_t> clientData_;
70     std::vector<uint8_t> reqData_;
71 };
72 } // namespace USB
73 } // namespace OHOS
74 
75 #endif // USB_REQUEST_H
76