142103316Sopenharmony_ci/*
242103316Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
342103316Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
442103316Sopenharmony_ci * you may not use this file except in compliance with the License.
542103316Sopenharmony_ci * You may obtain a copy of the License at
642103316Sopenharmony_ci *
742103316Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
842103316Sopenharmony_ci *
942103316Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1042103316Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1142103316Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1242103316Sopenharmony_ci * See the License for the specific language governing permissions and
1342103316Sopenharmony_ci * limitations under the License.
1442103316Sopenharmony_ci */
1542103316Sopenharmony_ci
1642103316Sopenharmony_ci#include "usb_request.h"
1742103316Sopenharmony_ci#include "usb_common.h"
1842103316Sopenharmony_ci#include "usb_srv_client.h"
1942103316Sopenharmony_ci
2042103316Sopenharmony_cinamespace OHOS {
2142103316Sopenharmony_cinamespace USB {
2242103316Sopenharmony_ciint32_t UsbRequest::Initialize(const USBDevicePipe &pipe, const USBEndpoint &endpoint)
2342103316Sopenharmony_ci{
2442103316Sopenharmony_ci    this->pipe_ = pipe;
2542103316Sopenharmony_ci    this->endpoint_ = endpoint;
2642103316Sopenharmony_ci    int32_t ret = UsbSrvClient::GetInstance().RequestInitialize(*this);
2742103316Sopenharmony_ci    if (ret != ERR_OK) {
2842103316Sopenharmony_ci        USB_HILOGE(MODULE_USB_INNERKIT, "RequestInitialize failed with ret = %{public}d.", ret);
2942103316Sopenharmony_ci    }
3042103316Sopenharmony_ci    return ret;
3142103316Sopenharmony_ci}
3242103316Sopenharmony_ci
3342103316Sopenharmony_ciint32_t UsbRequest::Queue()
3442103316Sopenharmony_ci{
3542103316Sopenharmony_ci    int32_t ret = UsbSrvClient::GetInstance().RequestQueue(*this);
3642103316Sopenharmony_ci    if (ret != ERR_OK) {
3742103316Sopenharmony_ci        USB_HILOGE(MODULE_USB_INNERKIT, "RequestQueue failed with ret = %{public}d.", ret);
3842103316Sopenharmony_ci    }
3942103316Sopenharmony_ci    return ret;
4042103316Sopenharmony_ci}
4142103316Sopenharmony_ci
4242103316Sopenharmony_ciint32_t UsbRequest::Free()
4342103316Sopenharmony_ci{
4442103316Sopenharmony_ci    int32_t ret = UsbSrvClient::GetInstance().RequestFree(*this);
4542103316Sopenharmony_ci    if (ret != ERR_OK) {
4642103316Sopenharmony_ci        USB_HILOGE(MODULE_USB_INNERKIT, "RequestFree failed with ret = %{public}d.", ret);
4742103316Sopenharmony_ci    }
4842103316Sopenharmony_ci    return ret;
4942103316Sopenharmony_ci}
5042103316Sopenharmony_ci
5142103316Sopenharmony_ciint32_t UsbRequest::Abort()
5242103316Sopenharmony_ci{
5342103316Sopenharmony_ci    int32_t ret = UsbSrvClient::GetInstance().RequestAbort(*this);
5442103316Sopenharmony_ci    if (ret != ERR_OK) {
5542103316Sopenharmony_ci        USB_HILOGE(MODULE_USB_INNERKIT, "RequestAbort failed with ret = %{public}d.", ret);
5642103316Sopenharmony_ci    }
5742103316Sopenharmony_ci    return ret;
5842103316Sopenharmony_ci}
5942103316Sopenharmony_ci} // namespace USB
6042103316Sopenharmony_ci} // namespace OHOS
61