diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-06-30T15·53+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2009-06-30T15·53+0000 |
commit | 749dd97a54f50467d266dde2b833f272cb556145 (patch) | |
tree | e70922e3611144f69bf0613742fa92619d8f776f /src/libexpr/get-drvs.hh | |
parent | f2c3fc519190b021f0bb3b66f58d0fe7fc40b0e7 (diff) |
* Support integers and lists of strings in meta fields. This is
useful for fields like meta.maintainers, meta.priority (which can be a proper integer now) and even meta.license (if there are multiple licenses).
Diffstat (limited to 'src/libexpr/get-drvs.hh')
-rw-r--r-- | src/libexpr/get-drvs.hh | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libexpr/get-drvs.hh b/src/libexpr/get-drvs.hh index 46dc51a568af..b56f54711899 100644 --- a/src/libexpr/get-drvs.hh +++ b/src/libexpr/get-drvs.hh @@ -12,7 +12,16 @@ namespace nix { -typedef std::map<string, string> MetaInfo; +struct MetaValue +{ + enum { tpNone, tpString, tpStrings, tpInt } type; + string stringValue; + Strings stringValues; + int intValue; +}; + + +typedef std::map<string, MetaValue> MetaInfo; struct DrvInfo @@ -34,7 +43,7 @@ public: string queryDrvPath(EvalState & state) const; string queryOutPath(EvalState & state) const; MetaInfo queryMetaInfo(EvalState & state) const; - string queryMetaInfo(EvalState & state, const string & name) const; + MetaValue queryMetaInfo(EvalState & state, const string & name) const; void setDrvPath(const string & s) { |