|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
Base interface for resource routers. More...
#include <resource_router.hpp>


Public Member Functions | |
| ResourceRouter (std::shared_ptr< reusex::ProjectDB > db) | |
| virtual | ~ResourceRouter ()=default |
| virtual DataPayload | get (const std::vector< PathComponent > &components)=0 |
| Get resource data at the given path. | |
| virtual void | set (const std::vector< PathComponent > &components, const DataPayload &data)=0 |
| Set resource data at the given path. | |
| virtual void | del (const std::vector< PathComponent > &components)=0 |
| Delete resource at the given path. | |
| virtual std::vector< std::string > | list () const =0 |
| List all items in this collection. | |
| std::optional< std::string > | resolve_index (int index) const |
| Resolve array index to item name/id. | |
Protected Attributes | |
| std::shared_ptr< reusex::ProjectDB > | db_ |
Base interface for resource routers.
Each resource type (clouds, meshes, frames, etc.) implements this interface to handle get/set/del operations for its specific resource type.
Definition at line 26 of file resource_router.hpp.
|
inlineexplicit |
Definition at line 28 of file resource_router.hpp.
References db_.
|
virtualdefault |
|
pure virtual |
Delete resource at the given path.
| components | Parsed path components (after collection) |
| std::runtime_error | if operation fails |
Implemented in rux::database::CloudRouter, rux::database::MeshRouter, rux::database::PanoramaRouter, rux::database::PassportRouter, and rux::database::ProjectRouter.
|
pure virtual |
Get resource data at the given path.
| components | Parsed path components (after collection) |
| std::runtime_error | if path is invalid or resource not found |
Implemented in rux::database::CloudRouter, rux::database::MeshRouter, rux::database::PanoramaRouter, rux::database::PassportRouter, and rux::database::ProjectRouter.
|
pure virtual |
List all items in this collection.
Used for wildcard expansion and array indexing. Returns items in deterministic order (see MEMORY.md).
Implemented in rux::database::CloudRouter, rux::database::MeshRouter, rux::database::PanoramaRouter, rux::database::PassportRouter, and rux::database::ProjectRouter.
Referenced by resolve_index().
|
inline |
Resolve array index to item name/id.
| index | Array index |
Definition at line 74 of file resource_router.hpp.
References list().
|
pure virtual |
Set resource data at the given path.
| components | Parsed path components (after collection) |
| data | Input data |
| std::runtime_error | if operation fails |
Implemented in rux::database::CloudRouter, rux::database::MeshRouter, rux::database::PanoramaRouter, rux::database::PassportRouter, and rux::database::ProjectRouter.
|
protected |
Definition at line 83 of file resource_router.hpp.
Referenced by ResourceRouter().