2#include <SimoxUtility/algorithm/vector.hpp>
13 const std::string& prefix)
15 if (not defs->hasDefinition(prefix +
"packageName"))
18 prefix +
"packageName",
19 "The name of the prior knowledge data package.");
33 if (std::filesystem::is_regular_file(absPath))
39 for (
const auto& d : std::filesystem::directory_iterator(absPath))
41 std::string k = d.path().filename();
42 if (simox::alg::contains(ID_BLACKLIST, k))
47 if (not this->
check(d.path()))
58 if (simox::alg::contains(ID_BLACKLIST,
id))
65 return this->
accept(absPath);
68 std::optional<PKFinderInfo>
73 if (this->
check(absPath))
81 std::vector<PKFinderInfo>
85 if (std::filesystem::is_regular_file(absPath))
91 std::vector<PKFinderInfo> ret;
92 for (
const auto& d : std::filesystem::directory_iterator(absPath))
94 std::string k = d.path().filename();
95 if (simox::alg::contains(ID_BLACKLIST, k))
100 auto el = this->
find(k);
std::filesystem::path getFullPath() const
virtual bool accept(const std::filesystem::path &idPath) const=0
std::string getPackageName() const
std::filesystem::path getAbsolutePackagePath() const
void recalculateBasePath()
std::filesystem::path getRelativePath() const
The ObjectFinderInfo class Specialization of the DatasetFinderInfo with strings as dataset and id typ...
std::vector< PKFinderInfo > findAll() const override
bool checkAll() const override
virtual void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr &defs, const std::string &prefix)
std::optional< PKFinderInfo > find(const std::string &id) const override
bool check(const std::string &id) const override
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.