aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Asset.h
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-20 14:24:08 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-20 14:24:08 +0100
commit22a7e9f3c40b4b6eb68a5343e4870e76c4bfcf63 (patch)
treeb927a520d1d25951a7b22ade23b470168db67a72 /src/crepe/api/Asset.h
parent02845c3d25130e9473604cb2eeee42a7a7a8eadf (diff)
process feedback on #39
Diffstat (limited to 'src/crepe/api/Asset.h')
-rw-r--r--src/crepe/api/Asset.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/crepe/api/Asset.h b/src/crepe/api/Asset.h
index 77596ac..bfd0ac7 100644
--- a/src/crepe/api/Asset.h
+++ b/src/crepe/api/Asset.h
@@ -40,6 +40,22 @@ private:
const std::string src;
private:
+ /**
+ * \brief Locate asset path, or throw exception if it cannot be found
+ *
+ * This function resolves asset locations relative to crepe::Config::root_pattern if it is
+ * set and \p src is a relative path. If \p src is an absolute path, it is canonicalized.
+ * This function only returns if the file can be found.
+ *
+ * \param src Arbitrary path to resource file
+ *
+ * \returns \p src if crepe::Config::root_pattern is empty
+ * \returns Canonical path to \p src
+ *
+ * \throws std::runtime_error if root_pattern cannot be found
+ * \throws std::filesystem::filesystem_error if the resolved path does not exist
+ * \throws std::filesystem::filesystem_error if the path cannot be canonicalized
+ */
std::string find_asset(const std::string & src) const;
/**
* \returns The path to the current executable