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