~aleteoryx/muditaos

ref: 1429d4f07e2687bb62e8f703d63d5a6e468415db muditaos/module-apps/application-settings-new/models/SARInfoRepository.cpp -rw-r--r-- 1.0 KiB
1429d4f0 — Kuba [EGD-6698] Add setting time from Settings 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
// 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 <gsl_util>
#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();
}