]> git.lyx.org Git - features.git/blobdiff - src/CiteEnginesList.cpp
Merge branch 'master' into biblatex2
[features.git] / src / CiteEnginesList.cpp
index ee7287538dd81754b5f4f098b19fb4bb8f9d1f55..118c1b7a59ea1764bb98f30281398ff83e2e6695 100644 (file)
@@ -38,11 +38,12 @@ CiteEnginesList theCiteEnginesList;
 
 
 LyXCiteEngine::LyXCiteEngine(string const & n, string const & i,
-                            vector<string> const & cet, vector<string> const & dbs,
+                            vector<string> const & cet, string const & cfm,
+                            vector<string> const & dbs,
                             string const & d, vector<string> const & p,
                             vector<string> const & r, vector<string> const & e):
-       name_(n), id_(i), engine_types_(cet), default_biblios_(dbs), description_(d),
-       package_list_(p), required_engines_(r), excluded_engines_(e),
+       name_(n), id_(i), engine_types_(cet), cite_framework_(cfm), default_biblios_(dbs),
+       description_(d), package_list_(p), required_engines_(r), excluded_engines_(e),
        checked_(false), available_(false)
 {
        filename_ = id_ + ".citeengine";
@@ -123,10 +124,7 @@ string LyXCiteEngine::getDefaultBiblio(CiteEngineType const & cet) const
        string res;
        string const etp = theCiteEnginesList.getTypeAsString(cet) + ":";
        //check whether all of the required packages are available
-       vector<string>::const_iterator it  = default_biblios_.begin();
-       vector<string>::const_iterator end = default_biblios_.end();
-       for (; it != end; ++it) {
-               string const s = *it;
+       for (string const &s: default_biblios_) {
                if (prefixIs(s, etp))
                        res = split(s, ':');
                else if (!contains(s, ':') && res.empty())
@@ -139,13 +137,10 @@ string LyXCiteEngine::getDefaultBiblio(CiteEngineType const & cet) const
 bool LyXCiteEngine::isDefaultBiblio(string const & bf) const
 {
        string const bfs = ":" + bf;
-       vector<string>::const_iterator it  = default_biblios_.begin();
-       vector<string>::const_iterator end = default_biblios_.end();
-       for (; it != end; ++it) {
-               string const s = *it;
+       for (string const &s: default_biblios_)
                if (suffixIs(s, bfs) || bf == s)
                        return true;
-       }
+
        return false;
 }
 
@@ -249,6 +244,10 @@ bool CiteEnginesList::read()
                                cet = split(cet, p, '|');
                                cets.push_back(p);
                        }
+                       if (!lex.next(true))
+                               break;
+                       string const citeframework = lex.getString();
+                       LYXERR(Debug::TCLASS, "CiteFramework: " << citeframework);
                        if (!lex.next(true))
                                break;
                        string db = lex.getString();
@@ -296,7 +295,7 @@ bool CiteEnginesList::read()
                        }
                        // This code is run when we have
                        // cename, fname, desc, pkgs, req and exc
-                       addCiteEngine(cename, fname, cets, dbs, desc, pkgs, req, exc);
+                       addCiteEngine(cename, fname, cets, citeframework, dbs, desc, pkgs, req, exc);
                } // end switch
        } //end while
 
@@ -310,11 +309,11 @@ bool CiteEnginesList::read()
 
 void CiteEnginesList::addCiteEngine(string const & cename,
        string const & filename, vector<string> const & cets,
-       vector<string> const & dbs, string const & description,
-       vector<string> const & pkgs, vector<string> const & req,
-       vector<string> const & exc)
+       string const & citeframework, vector<string> const & dbs,
+       string const & description, vector<string> const & pkgs,
+       vector<string> const & req, vector<string> const & exc)
 {
-       LyXCiteEngine ce(cename, filename, cets, dbs, description, pkgs, req, exc);
+       LyXCiteEngine ce(cename, filename, cets, citeframework, dbs, description, pkgs, req, exc);
        englist_.push_back(ce);
 }