DotNameLib
Loading...
Searching...
No Matches
ICustomStringsLoader.hpp
Go to the documentation of this file.
1#pragma once
2
4#include <nlohmann/json.hpp>
5#include <optional>
6#include <string>
7
8namespace dotnamecpp::utils {
9
15 public:
16 virtual ~ICustomStringsLoader() = default;
17
23 [[nodiscard]]
25
33 [[nodiscard]]
34 virtual std::optional<std::string>
35 getLocalizedString(const std::string &id, const std::string &locale = "en") const = 0;
36
43 [[nodiscard]]
44 virtual std::optional<std::string> getEmail(const std::string &id) const = 0;
45
52 [[nodiscard]]
53 virtual std::optional<std::string> getUrl(const std::string &id) const = 0;
54
61 [[nodiscard]]
62 virtual std::optional<std::string> getTel(const std::string &id) const = 0;
63
70 [[nodiscard]]
71 virtual std::optional<std::string> getPath(const std::string &id) const = 0;
72
78 [[nodiscard]]
79 virtual std::string getCustomStringSign() const = 0;
80 };
81
82} // namespace dotnamecpp::utils
Interface for loading custom strings from JSON.
Definition ICustomStringsLoader.hpp:14
virtual std::optional< std::string > getPath(const std::string &id) const =0
Get the Path object.
virtual std::optional< std::string > getLocalizedString(const std::string &id, const std::string &locale="en") const =0
Get the Localized String object.
virtual Result< nlohmann::json, JsonError > load() const =0
Load the custom strings JSON data.
virtual std::string getCustomStringSign() const =0
Get the Custom String Sign object.
virtual std::optional< std::string > getUrl(const std::string &id) const =0
Get the Url object.
virtual std::optional< std::string > getEmail(const std::string &id) const =0
Get the Email object.
virtual std::optional< std::string > getTel(const std::string &id) const =0
Get the Tel object.
Definition UtilsError.hpp:93
Definition DirectoryManager.cpp:5