feat(data): IAsyncProjectRepository 异步导航仓储抽象(薄封装,返回NavRequest,Async后缀)
This commit is contained in:
parent
4beb7a9523
commit
2ee1ccdb0f
|
|
@ -0,0 +1,28 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
|
||||
namespace geopro::data {
|
||||
|
||||
class NavRequest;
|
||||
|
||||
// 导航异步仓储抽象(薄封装:一方法一请求,返回自管理句柄 emit done(QVariant)/failed(msg))。
|
||||
// 汇聚/链式编排由 WorkbenchNavController 负责(它知道完整序列与状态)。
|
||||
// 方法与同步 IProjectRepository 一一对应(加 Async 后缀消歧:同名不同返回类型不能同类共存);
|
||||
// payload 类型见各方法注释(控制器 qvariant_cast)。
|
||||
class IAsyncProjectRepository {
|
||||
public:
|
||||
virtual ~IAsyncProjectRepository() = default;
|
||||
virtual NavRequest* listWorkspacesAsync() = 0; // std::vector<Workspace>
|
||||
virtual NavRequest* switchWorkspaceAsync(const std::string& tenantId) = 0; // bool(解析器内 setToken 副作用)
|
||||
virtual NavRequest* pageProjectsAsync(const std::string& nameFilter,
|
||||
const std::string& typeId, int pageNo, int pageSize) = 0; // ProjectListPage
|
||||
virtual NavRequest* listProjectTypesAsync() = 0; // std::vector<ProjectType>
|
||||
virtual NavRequest* loadStructureAsync(const std::string& projectId) = 0; // std::vector<StructNode>
|
||||
virtual NavRequest* loadRowsAsync(const std::string& projectId, const std::string& parentId,
|
||||
int parentConfType, int classifyType, int pageNo) = 0; // DsPage
|
||||
virtual NavRequest* loadObjectDetailAsync(const std::string& objectId, int confType) = 0; // DynamicForm
|
||||
virtual NavRequest* loadDatasetFormAsync(const std::string& dsObjectId) = 0; // DynamicForm
|
||||
virtual NavRequest* loadExceptionsByTmAsync(const std::string& tmObjectId) = 0; // std::vector<ExceptionRow>
|
||||
};
|
||||
|
||||
} // namespace geopro::data
|
||||
Loading…
Reference in New Issue