diff --git a/src/proc/asset/pipe.cpp b/src/proc/asset/pipe.cpp index 1f1b9c5a7..2188a8138 100644 --- a/src/proc/asset/pipe.cpp +++ b/src/proc/asset/pipe.cpp @@ -22,6 +22,7 @@ #include "proc/asset/pipe.hpp" +#include "proc/assetmanager.hpp" #include "lib/util.hpp" using util::isnil; @@ -57,9 +58,20 @@ namespace asset { PPipe Pipe::query (string properties) - { - return Struct::retrieve (Query (properties)); - } + { + return Struct::retrieve (Query (properties)); + } + + + /** @param id asset-ID of the pipe to retrieve + * @throw error::Invalid when not found + */ + PPipe + Pipe::lookup (ID id) + { + return AssetManager::instance().getAsset(id); + } + void Pipe::switchProcPatt (PProcPatt& another) diff --git a/src/proc/asset/pipe.hpp b/src/proc/asset/pipe.hpp index af418d6fd..64e3e991c 100644 --- a/src/proc/asset/pipe.hpp +++ b/src/proc/asset/pipe.hpp @@ -86,7 +86,10 @@ namespace asset { void switchProcPatt (PProcPatt& another); /** convenience shortcut for retrieving default configured pipes */ - static PPipe query (string properties) ; + static PPipe query (string properties); + + /** convenience shortcut for lookup by id */ + static PPipe lookup (ID id); };