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;
   411     bool isSatisfied(
const std::list<Software>& swList)
 const { 
return isSatisfiedSelect(swList); }
   426     bool isSatisfied(
const std::list<ApplicationEnvironment>& swList) 
const;
   484     bool selectSoftware(
const std::list<ApplicationEnvironment>& swList);
   513     bool empty()
 const { 
return softwareList.empty(); }
   519     void clear() { softwareList.clear(); comparisonOperatorList.clear(); }
   539     std::list<Software> softwareList;
   540     std::list<Software::ComparisonOperatorEnum> comparisonOperatorList;
   548 #endif // __ARC_SOFTWAREVERSION_H__ Arc namespace contains all core ARC classes. 
Definition: ArcConfig.h:11
 
static ComparisonOperator convert(const ComparisonOperatorEnum &co)
Convert a ComparisonOperatorEnum value to a comparison method pointer. 
 
const std::string & getVersion() const
Get version. 
Definition: Software.h:272
 
bool operator<=(const Software &sw) const
Less-than or equal operator. 
Definition: Software.h:225
 
Class used to express and resolve version requirements on software. 
Definition: Software.h:327
 
bool isResolved() const
Indicates whether requirements have been resolved or not. 
 
bool isSatisfied(const Software &sw) const
Test if requirements are satisfied. 
Definition: Software.h:392
 
bool operator!=(const Software &sw) const
Inequality operator. 
Definition: Software.h:155
 
std::string operator()() const
Get string representation. 
 
Definition: Software.h:104
 
static const std::string VERSIONTOKENS
Tokens used to split version string. 
Definition: Software.h:296
 
bool operator>=(const Software &sw) const
Greater-than or equal operator. 
Definition: Software.h:212
 
bool operator==(const Software &sw) const
Equality operator. 
Definition: Software.h:143
 
void clear()
Clear the object. 
Definition: Software.h:519
 
A logger class. 
Definition: Logger.h:493
 
ComparisonOperatorEnum
Comparison operator enum. 
Definition: Software.h:103
 
bool operator<(const Software &sw) const
Less-than operator. 
Definition: Software.h:199
 
SoftwareRequirement()
Create a empty SoftwareRequirement object. 
Definition: Software.h:334
 
Software()
Dummy constructor. 
Definition: Software.h:58
 
Definition: Software.h:106
 
Definition: Software.h:105
 
SoftwareRequirement(const SoftwareRequirement &sr)
Copy constructor. 
Definition: Software.h:365
 
SoftwareRequirement & operator=(const SoftwareRequirement &sr)
Assignment operator. 
 
void add(const Software &sw, Software::ComparisonOperatorEnum co)
Add a Software object a corresponding comparion operator to this object. 
 
bool selectSoftware(const Software &sw)
Select software. 
Definition: Software.h:444
 
bool(Software::* ComparisonOperator)(const Software &) const
Definition of a comparison operator method pointer. 
Definition: Software.h:52
 
bool operator>(const Software &sw) const
Greater-than operator. 
 
bool empty() const
Indicates whether the object is empty. 
Definition: Software.h:131
 
const std::list< Software > & getSoftwareList() const
Get list of Software objects. 
Definition: Software.h:528
 
const std::string & getFamily() const
Get family. 
Definition: Software.h:262
 
Definition: Software.h:109
 
const std::string & getName() const
Get name. 
Definition: Software.h:267
 
Definition: Software.h:107
 
bool isSatisfied(const std::list< Software > &swList) const
Test if requirements are satisfied. 
Definition: Software.h:411
 
friend std::ostream & operator<<(std::ostream &out, const Software &sw)
Write Software string representation to a std::ostream. 
Definition: Software.h:237
 
Definition: Software.h:108
 
static std::string toString(ComparisonOperatorEnum co)
Convert Software::ComparisonOperator to a string. 
 
bool empty() const
Test if the object is empty. 
Definition: Software.h:513
 
Used to represent software (names and version) and comparison. 
Definition: Software.h:38
 
const std::list< Software::ComparisonOperatorEnum > & getComparisonOperatorList() const
Get list of comparison operators. 
Definition: Software.h:536