26 lines
1.2 KiB
C++
26 lines
1.2 KiB
C++
#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
|