diff options
Diffstat (limited to 'src/libexpr/get-drvs.hh')
-rw-r--r-- | src/libexpr/get-drvs.hh | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/libexpr/get-drvs.hh b/src/libexpr/get-drvs.hh index b56f54711..ca7d98002 100644 --- a/src/libexpr/get-drvs.hh +++ b/src/libexpr/get-drvs.hh @@ -29,16 +29,19 @@ struct DrvInfo private: string drvPath; string outPath; + + bool metaInfoRead; + MetaInfo meta; public: string name; 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; + + DrvInfo() : metaInfoRead(false), attrs(0) { }; string queryDrvPath(EvalState & state) const; string queryOutPath(EvalState & state) const; @@ -62,13 +65,12 @@ 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, - const ATermMap & autoArgs, DrvInfos & drvs); +void getDerivations(EvalState & state, Value & v, const string & pathPrefix, + const Bindings & autoArgs, DrvInfos & drvs); } |