41#include <openfluid/config.hpp>
42#include <openfluid/ware/TypeDefs.hpp>
50#ifndef __OPENFLUID_WARE_WARESIGNATURE_HPP__
51#define __OPENFLUID_WARE_WARESIGNATURE_HPP__
63 using Person_t = std::pair<std::string,std::string>;
65 using Link_t = std::pair<std::string,std::string>;
152 std::vector<std::string> MatchingTags;
153 for(
const auto& Tag : Tags)
155 const std::string TagType = Type + openfluid::config::STR_SEPARATOR_TAG_TYPE;
177 Status = WareStatus_t::EXPERIMENTAL;
193 if (Status == WareStatus_t::BETA)
197 else if (Status == WareStatus_t::STABLE)
202 return "experimental";
212 Status = WareStatus_t::EXPERIMENTAL;
214 if (StatusStr ==
"beta")
216 Status = WareStatus_t::BETA;
218 else if (StatusStr ==
"stable")
220 Status = WareStatus_t::STABLE;
247 std::function<
bool(
const std::string&,std::string&,
272 const std::string& D,
const std::string& SI,
273 std::function<
bool(
const std::string&,std::string&,
325 RequiredParams.clear();
326 RequiredVars.clear();
328 RequiredAttributes.clear();
329 UsedAttributes.clear();
330 RequiredExtraFiles.clear();
331 UsedExtraFiles.clear();
347 WareSignature::clear();
Type
Definition Value.hpp:66
@ NONE
Definition Value.hpp:66
Definition WareSignature.hpp:338
SignatureHandledData HandledData
Definition WareSignature.hpp:343
void clear()
Definition WareSignature.hpp:345
Definition WareSignature.hpp:235
SignatureDataItem(const std::string &N, const std::string &D, const std::string &SI, openfluid::core::Value::Type T, std::function< bool(const std::string &)> Validator=openfluid::ware::isNonEmpty)
std::string SIUnit
Definition WareSignature.hpp:240
std::string Name
Definition WareSignature.hpp:238
SignatureDataItem()
Definition WareSignature.hpp:243
SignatureDataItem(const std::string &N, const std::string &D, const std::string &SI, std::function< bool(const std::string &, std::string &, openfluid::core::Value::Type &)> Extractor=openfluid::ware::identityExtractor)
std::string Description
Definition WareSignature.hpp:239
Definition WareSignature.hpp:294
std::vector< SignatureDataItem > UsedParams
Definition WareSignature.hpp:297
std::vector< SignatureSpatialDataItem > UsedVars
Definition WareSignature.hpp:303
std::vector< std::string > RequiredExtraFiles
Definition WareSignature.hpp:309
std::vector< std::string > UsedExtraFiles
Definition WareSignature.hpp:311
void clear()
Definition WareSignature.hpp:322
std::vector< SignatureSpatialDataItem > RequiredAttributes
Definition WareSignature.hpp:305
std::vector< SignatureSpatialDataItem > RequiredVars
Definition WareSignature.hpp:301
SignatureHandledData()
Definition WareSignature.hpp:314
std::vector< SignatureSpatialDataItem > UsedAttributes
Definition WareSignature.hpp:307
std::vector< SignatureDataItem > RequiredParams
Definition WareSignature.hpp:299
~SignatureHandledData()
Definition WareSignature.hpp:319
Definition WareSignature.hpp:263
openfluid::core::UnitsClass_t UnitsClass
Definition WareSignature.hpp:266
SignatureSpatialDataItem(const std::string &N, const openfluid::core::UnitsClass_t &U, const std::string &D, const std::string &SI, std::function< bool(const std::string &, std::string &, openfluid::core::Value::Type &)> Extractor=openfluid::ware::identityExtractor)
Definition WareSignature.hpp:271
SignatureSpatialDataItem()
Definition WareSignature.hpp:268
SignatureSpatialDataItem(const std::string &N, const openfluid::core::UnitsClass_t &U, const std::string &D, const std::string &SI, openfluid::core::Value::Type T, std::function< bool(const std::string &)> Validator=openfluid::ware::isNonEmpty)
Definition WareSignature.hpp:278
Definition WareIssues.hpp:135
void clear()
Definition WareIssues.hpp:180
Definition WareSignature.hpp:58
WareID_t ID
Definition WareSignature.hpp:79
WareStatus_t Status
Definition WareSignature.hpp:93
PeopleList_t Authors
Definition WareSignature.hpp:98
std::vector< std::string > Tags
Definition WareSignature.hpp:113
std::string Description
Definition WareSignature.hpp:83
void clear()
Definition WareSignature.hpp:170
LinksList_t Links
Definition WareSignature.hpp:118
virtual openfluid::ware::WareType getType() const =0
WareSignature()
Definition WareSignature.hpp:131
virtual ~WareSignature()=default
std::pair< std::string, std::string > Person_t
Definition WareSignature.hpp:63
std::string License
Definition WareSignature.hpp:108
std::vector< std::string > getTagsByType(const std::string &Type) const
Definition WareSignature.hpp:150
std::string getStatusAsString() const
Definition WareSignature.hpp:191
SignatureBuildInfo BuildInfo
Definition WareSignature.hpp:77
std::vector< Link_t > LinksList_t
Definition WareSignature.hpp:69
std::map< std::string, std::string > DependenciesMap_t
Definition WareSignature.hpp:71
WareName_t Name
Definition WareSignature.hpp:81
void setStatusFromString(const std::string &StatusStr)
Definition WareSignature.hpp:210
std::vector< Person_t > PeopleList_t
Definition WareSignature.hpp:67
DependenciesMap_t Dependencies
Definition WareSignature.hpp:128
WareVersion_t Version
Definition WareSignature.hpp:88
PeopleList_t Contacts
Definition WareSignature.hpp:103
WareIssues Issues
Definition WareSignature.hpp:123
std::pair< std::string, std::string > Link_t
Definition WareSignature.hpp:65
#define OPENFLUID_API
Definition dllexport.hpp:86
std::string UnitsClass_t
Definition TypeDefs.hpp:98
WareType
Definition TypeDefs.hpp:61
std::string WareID_t
Definition TypeDefs.hpp:49
std::string WareVersion_t
Definition TypeDefs.hpp:53
std::string WareName_t
Definition TypeDefs.hpp:51
bool OPENFLUID_API isNonEmpty(const std::string &Str)
Definition DataItemUtils.hpp:75
WareStatus_t
Definition TypeDefs.hpp:102
bool OPENFLUID_API identityExtractor(const std::string &VO, std::string &V, openfluid::core::Value::Type &)
Definition DataItemUtils.hpp:59
Definition ApplicationException.hpp:47
Definition TypeDefs.hpp:125