aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/get-drvs.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2010-03-31 15:38:03 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2010-03-31 15:38:03 +0000
commit3d94be61ea562dea2098b6570f711386179913ef (patch)
tree9afd60cf782d5824efc4bafba98af1ee6af937f4 /src/libexpr/get-drvs.hh
parent51876789131e81dca9807c00773158160c3824c2 (diff)
* Implemented derivations.
Diffstat (limited to 'src/libexpr/get-drvs.hh')
-rw-r--r--src/libexpr/get-drvs.hh15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/libexpr/get-drvs.hh b/src/libexpr/get-drvs.hh
index b56f54711..733f20201 100644
--- a/src/libexpr/get-drvs.hh
+++ b/src/libexpr/get-drvs.hh
@@ -35,10 +35,8 @@ public:
string attrPath; /* path towards the derivation */
string system;
- /* !!! these should really be hidden, and setMetaInfo() should
- make a copy since the ATermMap can be shared between multiple
- DrvInfos. */
- boost::shared_ptr<ATermMap> attrs;
+ /* !!! make this private */
+ Bindings * attrs;
string queryDrvPath(EvalState & state) const;
string queryOutPath(EvalState & state) const;
@@ -62,12 +60,11 @@ public:
typedef list<DrvInfo> DrvInfos;
-/* Evaluate expression `e'. If it evaluates to a derivation, store
- information about the derivation in `drv' and return true.
- Otherwise, return false. */
-bool getDerivation(EvalState & state, Expr e, DrvInfo & drv);
+/* If value `v' denotes a derivation, store information about the
+ derivation in `drv' and return true. Otherwise, return false. */
+bool getDerivation(EvalState & state, Value & v, DrvInfo & drv);
-void getDerivations(EvalState & state, Expr e, const string & pathPrefix,
+void getDerivations(EvalState & state, Value & v, const string & pathPrefix,
const ATermMap & autoArgs, DrvInfos & drvs);