#include "utils/string_utils.hpp" #include "utils/dbus_path_utils.hpp" #include namespace details { constexpr std::string_view allowedCharactersInId = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; std::string repeat(size_t n) { std::string result; for (size_t i = 0; i < n; i++) { result += allowedCharactersInId; } return result; } std::string getString(size_t length) { return details::repeat( std::ceil(static_cast(length) / static_cast(allowedCharactersInId.length()))) .substr(0, length); } std::string getStringWithSpaces(size_t length) { std::string result = getString(length); size_t idx = 1; while (idx < length) { result[idx] = ' '; idx += 5; } return result; } } // namespace details namespace utils::string_utils { std::string getMaxPrefix() { return details::getString(constants::maxPrefixLength); } std::string getMaxId() { return details::getString(constants::maxIdNameLength); } std::string getMaxName() { return details::getStringWithSpaces(constants::maxIdNameLength); } std::string getTooLongPrefix() { return details::getString(constants::maxPrefixLength + 1); } std::string getTooLongId() { return details::getString(constants::maxIdNameLength + 1); } std::string getTooLongName() { return details::getStringWithSpaces(constants::maxIdNameLength + 1); } } // namespace utils::string_utils