// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #include "TechnicalInformationRepository.hpp" #include #include TechnicalInformationRepository::TechnicalInformationRepository(app::ApplicationCommon *application) : app::AsyncCallbackReceiver{application}, application{application} {} void TechnicalInformationRepository::readImei(AbstractTechnicalInformationRepository::OnReadCallback readDoneCallback) { std::function callback = [&](const std::string &imei) { imeiStr = imei; }; auto msg = std::make_unique(); auto task = app::AsyncRequest::createFromMessage(std::move(msg), ::service::name::cellular); auto cb = [callback, readDoneCallback](auto response) { auto result = dynamic_cast(response); if (result != nullptr && result->retCode == sys::ReturnCodes::Success) { callback(*result->getImei()); } readDoneCallback(); return true; }; task->execute(this->application, this, cb); } std::string TechnicalInformationRepository::getImei() { return imeiStr; }