~aleteoryx/muditaos

ref: d38e5eb877fa0c70c110391b1269ffd4cbf25310 muditaos/module-services/service-cellular/src/volte/VolteCapabilityHandler.hpp -rw-r--r-- 1.0 KiB
d38e5eb8 — Lefucjusz [MOS-000] Update Pure changelog 2 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
// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#pragma once

#include "VolteCapabiltyHandlerCellularInterface.hpp"
#include "VolteAllowedListInterface.hpp"

#include <memory>

namespace cellular::service
{
    class VolteCapabilityHandler
    {
      public:
        VolteCapabilityHandler(std::unique_ptr<VolteAllowedListInterface> allowedList,
                               std::unique_ptr<VolteCapabilityCellularInterface> cellularInterface);
        /** Check if it is a possibility to enable VoLTE on current operator
         * @return true when VoLTE is allowed, false when not
         */
        auto isVolteAllowed(at::BaseChannel &channel) -> bool;
        auto getSupportStatus(at::BaseChannel &channel) -> ImsiParser::SupportStatus;

      private:
        std::unique_ptr<VolteAllowedListInterface> allowedList;
        std::unique_ptr<VolteCapabilityCellularInterface> cellularInterface;
    };
} // namespace cellular::service