#pragma once #include "repo/IAsyncDatasetRepository.hpp" namespace geopro::net { class ApiClient; } namespace geopro::data { // 真实 API 实现 IAsyncDatasetRepository(ERT 反演)。每次加载返回自管理句柄。 class ApiDatasetRepository : public IAsyncDatasetRepository { public: explicit ApiDatasetRepository(net::ApiClient& api); DetailLoad* loadAsync(const std::string& loaderKey, const std::string& dsId, int pageNo = 1, int pageSize = 0) override; private: DetailLoad* makeInversionScatter(const std::string& dsId); DetailLoad* makeInversionGrid(const std::string& dsId); DetailLoad* makeMeasurementScatter(const std::string& dsId); DetailLoad* makeMeasurementRows(const std::string& dsId); DetailLoad* makeGrBar(const std::string& dsId); DetailLoad* makeGrRows(const std::string& dsId); DetailLoad* makeTrajectoryRows(const std::string& dsId); DetailLoad* makeTrajectoryElevation(const std::string& dsId); DetailLoad* makeTrajectoryMap(const std::string& dsId); DetailLoad* makeGridRows(const std::string& dsId, int pageNo, int pageSize); net::ApiClient& api_; }; } // namespace geopro::data