1 #ifndef __ARC_SOFTWAREVERSION_H__
2 #define __ARC_SOFTWAREVERSION_H__
13 #include <arc/Logger.h>
17 class ApplicationEnvironment;
58 Software() : family(
""), name(
""), version(
"") {};
73 Software(
const std::string& name_version);
83 Software(
const std::string& name,
const std::string& version);
94 Software(
const std::string& family,
const std::string& name,
const std::string& version);
131 bool empty()
const {
return name.empty(); }
145 version == sw.version; }
267 const std::string&
getName()
const {
return name; }
274 const std::list<std::string>& getOptions()
const {
return option; }
276 void addOption(
const std::string& opt) { option.push_back(opt); }
278 void addOptions(
const std::list<std::string>& opts) { option.insert(option.end(),opts.begin(),opts.end()); }
302 std::list<std::string> tokenizedVersion;
303 std::list<std::string> option;
443 bool isSatisfied(
const std::list<Software>& swList)
const {
return isSatisfiedSelect(swList); }
458 bool isSatisfied(
const std::list<ApplicationEnvironment>& swList)
const;
516 bool selectSoftware(
const std::list<ApplicationEnvironment>& swList);
545 bool empty()
const {
return softwareList.empty(); }
551 void clear() { softwareList.clear(); comparisonOperatorList.clear(); }
571 std::list<Software> softwareList;
572 std::list<Software::ComparisonOperator> comparisonOperatorList;
580 #endif // __ARC_SOFTWAREVERSION_H__