~aleteoryx/muditaos

ref: 0bad6d643b0de5afab3c8218c06ae32754796d0c muditaos/module-cellular/at/src/UrcRing.cpp -rw-r--r-- 1.0 KiB
0bad6d64 — Michał Kamoń [EGD-6657] ApplicationDesktop clean-up 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include <UrcRing.hpp>

auto at::urc::Ring::isValid() const noexcept -> bool
{
    if (getType() == std::nullopt) {
        return false;
    }
    return Urc::isValid();
}

auto at::urc::Ring::getType() const -> std::optional<at::urc::Ring::RingType>
{
    if (urcBody == at::urc::Ring::headNormal) {
        return at::urc::Ring::RingType::Normal;
    }
    else if (urcBody == "ASYNC") {
        return at::urc::Ring::RingType::Async;
    }
    else if (urcBody == "SYNC") {
        return at::urc::Ring::RingType::Sync;
    }
    else if (urcBody == "REL ASYNC") {
        return at::urc::Ring::RingType::RelAsync;
    }
    else if (urcBody == "REL SYNC") {
        return at::urc::Ring::RingType::RelSync;
    }
    else if (urcBody == "FAX") {
        return at::urc::Ring::RingType::Fax;
    }
    else if (urcBody == "VOICE") {
        return at::urc::Ring::RingType::Voice;
    }

    return std::nullopt;
}