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__