Class ResourceDatabaseFacade

Inheritance Relationships

Base Type

Class Documentation

class ResourceDatabaseFacade : public portal::ResourceDatabase

Public Functions

void register_database(const Project &project, const DatabaseDescription &description)
virtual std::expected<SourceMetadata, DatabaseError> find(StringId resource_id) override

Find metadata for a resource by its ID.

Parameters:

resource_id – StringId of the resource to find

Returns:

SourceMetadata if found, or DatabaseError explaining why lookup failed

virtual std::unique_ptr<resources::ResourceSource> create_source(StringId resource_id, SourceMetadata meta) override

Create a ResourceSource for reading resource data.

Parameters:
  • resource_id – StringId of the resource

  • meta – Metadata describing the resource

Returns:

Unique pointer to a ResourceSource for reading bytes

virtual DatabaseError add(StringId resource_id, SourceMetadata meta) override

Add a new resource to the database.

Parameters:
  • resource_id – StringId for the new resource

  • meta – Complete metadata for the resource

Returns:

Success or error flags indicating why the operation failed

virtual DatabaseError remove(StringId resource_id) override

Remove a resource from the database.

Parameters:

resource_id – StringId of the resource to remove

Returns:

Success if removed, NotFound if resource didn’t exist

inline virtual StringId get_name() const override