X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcondition.cpp;h=413870e6cb20ab069374aa8781a5e7738f6cad2e;hb=7ed7c30ee0ceb734f17fe0c6d4bc6d37fb2ab5a7;hp=136b852fccd30c6e2b6ed2f7701ca8004e771c50;hpb=699493ee7346c578537f4e310702c57012686c22;p=builder.git diff --git a/source/condition.cpp b/source/condition.cpp index 136b852..413870e 100644 --- a/source/condition.cpp +++ b/source/condition.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of builder -Copyright © 2007-2010 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include #include "builder.h" #include "condition.h" @@ -25,11 +18,11 @@ Condition::Condition(SourcePackage &p, const string &expr): string::size_type token = i->find_first_of("=!"); if(token==string::npos) - expression.insert(StringMap::value_type(*i, "=")); + expression.insert(Expression::value_type(*i, "=")); else if(token==0 && (*i)[0]=='!') - expression.insert(StringMap::value_type(*i, "!")); + expression.insert(Expression::value_type(i->substr(1), "!")); else - expression.insert(StringMap::value_type(i->substr(0, token), i->substr(token))); + expression.insert(Expression::value_type(i->substr(0, token), i->substr(token))); } } @@ -38,7 +31,7 @@ bool Condition::eval() const Config &conf = pkg.get_config(); bool result = true; - for(StringMap::iterator i=expression.begin(); i!=expression.end(); ++i) + for(Expression::iterator i=expression.begin(); i!=expression.end(); ++i) { bool neg = (i->second[0]=='!'); unsigned start = 1; @@ -66,7 +59,7 @@ bool Condition::eval() Condition::Loader::Loader(Condition &c): - cond(c) + DataFile::ObjectLoader(c) { add("require", &Loader::require); add("build_info", &Loader::build_info); @@ -74,10 +67,10 @@ Condition::Loader::Loader(Condition &c): void Condition::Loader::require(const string &pkg) { - cond.requires.push_back(pkg); + obj.requires.push_back(pkg); } void Condition::Loader::build_info() { - load_sub(cond.build_info); + load_sub(obj.build_info); }