mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-05-31 17:53:59 +00:00
* Update class diagrams * Implement BoundedChannel and multithreaded logging infra * Integrate logging channel system * Update string concatenations to use std::format * Add pretty print log
26 lines
740 B
C++
26 lines
740 B
C++
#ifndef BIERGARTEN_PIPELINE_INCLUDES_JSON_HANDLING_JSON_LOADER_H_
|
|
#define BIERGARTEN_PIPELINE_INCLUDES_JSON_HANDLING_JSON_LOADER_H_
|
|
|
|
/**
|
|
* @file json_handling/json_loader.h
|
|
* @brief Loader API for curated location data.
|
|
*/
|
|
|
|
#include <filesystem>
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
#include "data_model/models.h"
|
|
#include "services/logging/logger.h"
|
|
|
|
/// @brief Loads curated world locations from a JSON file into memory.
|
|
class JsonLoader {
|
|
public:
|
|
/// @brief Parses a JSON array file and returns all location records.
|
|
static std::vector<Location> LoadLocations(
|
|
const std::filesystem::path& filepath,
|
|
std::shared_ptr<ILogger> logger = nullptr);
|
|
};
|
|
|
|
#endif // BIERGARTEN_PIPELINE_INCLUDES_JSON_HANDLING_JSON_LOADER_H_
|