1 /*
2  * Copyright 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include "l2cap/le/fixed_channel.h"
18 #include "common/bind.h"
19 #include "l2cap/le/internal/fixed_channel_impl.h"
20 
21 namespace bluetooth {
22 namespace l2cap {
23 namespace le {
24 
GetDevice() const25 hci::AddressWithType FixedChannel::GetDevice() const {
26   return impl_->GetDevice();
27 }
28 
RegisterOnCloseCallback(os::Handler * user_handler,FixedChannel::OnCloseCallback on_close_callback)29 void FixedChannel::RegisterOnCloseCallback(os::Handler* user_handler, FixedChannel::OnCloseCallback on_close_callback) {
30   l2cap_handler_->Post(common::BindOnce(&internal::FixedChannelImpl::RegisterOnCloseCallback, impl_, user_handler,
31                                         std::move(on_close_callback)));
32 }
33 
Acquire()34 void FixedChannel::Acquire() {
35   l2cap_handler_->Post(common::BindOnce(&internal::FixedChannelImpl::Acquire, impl_));
36 }
37 
Release()38 void FixedChannel::Release() {
39   l2cap_handler_->Post(common::BindOnce(&internal::FixedChannelImpl::Release, impl_));
40 }
41 
42 common::BidiQueueEnd<packet::BasePacketBuilder, packet::PacketView<packet::kLittleEndian>>*
GetQueueUpEnd() const43 FixedChannel::GetQueueUpEnd() const {
44   return impl_->GetQueueUpEnd();
45 }
46 
GetLinkOptions()47 LinkOptions* FixedChannel::GetLinkOptions() {
48   return impl_->GetLinkOptions();
49 }
50 
51 }  // namespace le
52 }  // namespace l2cap
53 }  // namespace bluetooth
54