// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "CrashdumpMetadataStore.hpp" namespace { inline constexpr auto separator = "_"; inline constexpr auto defaultSerialNumberLength = 13; inline constexpr auto defaultCommitHashLength = 8; inline constexpr auto defaultProductName = "unknown"; inline constexpr auto defaultOsVersion = "0.0.0"; inline constexpr auto defaultFillValue = '0'; } // namespace namespace Store { CrashdumpMetadata::CrashdumpMetadata() : productName(defaultProductName), osVersion(defaultOsVersion) { serialNumber.insert(0, defaultSerialNumberLength, defaultFillValue); commitHash.insert(0, defaultCommitHashLength, defaultFillValue); } CrashdumpMetadata &CrashdumpMetadata::getInstance() { static CrashdumpMetadata instance; return instance; } void CrashdumpMetadata::setSerialNumber(const std::string &sn) { serialNumber = sn; } const std::string &CrashdumpMetadata::getSerialNumber() { return serialNumber; } void CrashdumpMetadata::setProductName(const std::string &name) { productName = name; } const std::string &CrashdumpMetadata::getProductName() { return productName; } void CrashdumpMetadata::setOsVersion(const std::string &version) { osVersion = version; } const std::string &CrashdumpMetadata::getOsVersion() { return osVersion; } void CrashdumpMetadata::setCommitHash(const std::string &hash) { commitHash = hash; } const std::string &CrashdumpMetadata::getCommitHash() { return commitHash; } std::string CrashdumpMetadata::getMetadataString() { return productName + separator + osVersion + separator + commitHash + separator + serialNumber; } } // namespace Store