26 #ifndef CARGO_JSON_CARGO_JSON_HPP
27 #define CARGO_JSON_CARGO_JSON_HPP
44 template <
class Cargo>
50 visitable.accept(visitor);
58 template <
class Cargo>
64 visitable.accept(visitor);
74 template <
class Cargo>
79 const std::string& msg =
"Could not load " + filename;
86 const std::string& msg =
"Error in " + filename +
": " + e.what();
98 template <
class Cargo>
111 #endif // CARGO_JSON_CARGO_JSON_HPP
std::string saveToJsonString(const Cargo &visitable)
Creates a string representation of the visitable in json format.
Definition: cargo-json.hpp:59
Definition: from-json-visitor.hpp:43
void loadFromJsonString(const std::string &jsonString, Cargo &visitable)
Fills the visitable with data stored in the json string.
Definition: cargo-json.hpp:45
#define LOGE(MESSAGE)
Logging errors.
Definition: logger.hpp:140
bool readFileContent(const std::string &path, std::string &result)
Definition: fs-utils.cpp:34
bool saveFileContent(const std::string &path, const std::string &content)
Definition: fs-utils.cpp:59
Helper for compile-time checking against existance of template method 'accept'.
Definition: is-visitable.hpp:49
void saveToJsonFile(const std::string &filename, const Cargo &visitable)
Saves the visitable in a json file.
Definition: cargo-json.hpp:99
Base class for exceptions in libcargo.
Definition: exception.hpp:35
void loadFromJsonFile(const std::string &filename, Cargo &visitable)
Loads the visitable from a json file.
Definition: cargo-json.hpp:75
std::string toString() const
Definition: to-json-visitor.hpp:63
Definition: to-json-visitor.hpp:43