mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-03-17 11:42:29 +00:00
[Linux] Move all device related properties to new class (#135)
* Clean up code * Move all device releated properties to new class
This commit is contained in:
@@ -13,6 +13,7 @@ namespace AirPodsPackets
|
||||
// Noise Control Mode Packets
|
||||
namespace NoiseControl
|
||||
{
|
||||
using NoiseControlMode = AirpodsTrayApp::Enums::NoiseControlMode;
|
||||
static const QByteArray HEADER = ControlCommand::HEADER + 0x0D;
|
||||
static const QByteArray OFF = ControlCommand::createCommand(0x0D, 0x01);
|
||||
static const QByteArray NOISE_CANCELLATION = ControlCommand::createCommand(0x0D, 0x02);
|
||||
@@ -21,7 +22,6 @@ namespace AirPodsPackets
|
||||
|
||||
static const QByteArray getPacketForMode(AirpodsTrayApp::Enums::NoiseControlMode mode)
|
||||
{
|
||||
using NoiseControlMode = AirpodsTrayApp::Enums::NoiseControlMode;
|
||||
switch (mode)
|
||||
{
|
||||
case NoiseControlMode::Off:
|
||||
@@ -36,6 +36,17 @@ namespace AirPodsPackets
|
||||
return QByteArray();
|
||||
}
|
||||
}
|
||||
|
||||
inline std::optional<NoiseControlMode> parseMode(const QByteArray &data)
|
||||
{
|
||||
char mode = ControlCommand::parseActive(data).value_or(CHAR_MAX);
|
||||
if (mode < static_cast<quint8>(NoiseControlMode::MinValue) ||
|
||||
mode > static_cast<quint8>(NoiseControlMode::MaxValue))
|
||||
{
|
||||
return std::nullopt;
|
||||
}
|
||||
return static_cast<NoiseControlMode>(mode - 1);
|
||||
}
|
||||
}
|
||||
|
||||
// One Bud ANC Mode
|
||||
|
||||
Reference in New Issue
Block a user