mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-06-27 09:47:18 -04:00
To be able to handle properly the Bluetooth stack we need to get rid of doubled FreeRTOS task and do refactor of the whole BT section. This is first part of refactor and it includes integrating run loop into our worker and unifying namespaces
38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include "FreeRTOS.h"
|
|
#include "Profile.hpp"
|
|
#include "Service/Service.hpp"
|
|
#include "queue.h"
|
|
#include <memory>
|
|
#include <service-bluetooth/ServiceBluetoothCommon.hpp>
|
|
namespace bluetooth
|
|
{
|
|
class A2DP : public Profile
|
|
{
|
|
public:
|
|
A2DP();
|
|
~A2DP() override;
|
|
|
|
A2DP(A2DP &other);
|
|
auto operator=(A2DP rhs) -> A2DP &;
|
|
A2DP(A2DP &&other) noexcept;
|
|
auto operator=(A2DP &&other) noexcept -> A2DP &;
|
|
|
|
auto init() -> Error::Code override;
|
|
void setDeviceAddress(uint8_t *addr) override;
|
|
void setOwnerService(const sys::Service *service) override;
|
|
[[nodiscard]] auto getStreamData() -> std::shared_ptr<BluetoothStreamData> override;
|
|
|
|
void connect() override;
|
|
void disconnect() override;
|
|
|
|
private:
|
|
class A2DPImpl;
|
|
std::unique_ptr<A2DPImpl> pimpl;
|
|
};
|
|
} // namespace Bt
|