~aleteoryx/muditaos

ref: cc0ec423bfc250c7828d2d8c180709a48eb3caa3 muditaos/module-apps/application-settings/models/system/SARInfoRepository.cpp -rw-r--r-- 1.0 KiB
cc0ec423 — Lefucjusz [MOS-1035] Fixes in new alarm window UI flow 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
29
30
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include "SARInfoRepository.hpp"

#include <i18n/i18n.hpp>

#include <fstream>

SARInfoRepository::SARInfoRepository(std::filesystem::path certificationInfoPath, std::filesystem::path fileName)
    : certificationInfoPath(std::move(certificationInfoPath)), fileName(std::move(fileName))
{}

std::string SARInfoRepository::getSarInfoText()
{
    const auto &displayLanguageName = utils::getDisplayLanguage();
    auto sarInfoFile                = std::ifstream(certificationInfoPath / displayLanguageName / fileName);

    if (!sarInfoFile.is_open()) {
        sarInfoFile.open(certificationInfoPath / utils::getDefaultLanguage() / fileName);

        if (!sarInfoFile.is_open()) {
            throw std::runtime_error("SAR info assets are missing in the system!");
        }
    }
    std::ostringstream sarInfoText;
    sarInfoText << sarInfoFile.rdbuf();

    return sarInfoText.str();
}