]> git.tdb.fi Git - builder.git/blobdiff - source/condition.cpp
Refactor code to get rid of class PackageRef
[builder.git] / source / condition.cpp
index 97e93f1b1c6d5d3780df328a0dfc3925e1e44923..4b45dca51f2eeaf06a13880d2c214b3fe557d594 100644 (file)
@@ -1,13 +1,18 @@
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
 #include <msp/strings/utils.h>
 #include "condition.h"
-#include "package.h"
+#include "sourcepackage.h"
 
 using namespace std;
 using namespace Msp;
 
-#include <iostream>
-
-Condition::Condition(Package &p, const string &expr):
+Condition::Condition(SourcePackage &p, const string &expr):
        pkg(p)
 {
        vector<string> parts=split(expr);
@@ -16,7 +21,7 @@ Condition::Condition(Package &p, const string &expr):
        {
                if(*i=="and")
                        continue;
-               
+
                unsigned token=i->find_first_of("=!");
                if(token==string::npos)
                        expression.insert(StringMap::value_type(*i, "!0"));
@@ -27,12 +32,6 @@ Condition::Condition(Package &p, const string &expr):
        }
 }
 
-void Condition::resolve_refs()
-{
-       for(PkgRefList::iterator i=requires.begin(); i!=requires.end(); ++i)
-               i->resolve();
-}
-
 bool Condition::eval()
 {
        const Config &conf=pkg.get_config();
@@ -62,7 +61,7 @@ Condition::Loader::Loader(Condition &c):
 
 void Condition::Loader::require(const string &pkg)
 {
-       cond.requires.push_back(PackageRef(cond.pkg.get_builder(), pkg));
+       cond.requires.push_back(pkg);
 }
 
 void Condition::Loader::build_info()