]> git.lyx.org Git - lyx.git/blobdiff - src/CiteEnginesList.h
Provide proper fallback if a bibliography processor is not found
[lyx.git] / src / CiteEnginesList.h
index f1fc04b442b9edf0f739a17981b906b1934ddaeb..24bec03852015130ec8cb5cf2620dc097cd028e6 100644 (file)
@@ -51,11 +51,10 @@ public:
        ///
        LyXCiteEngine(std::string const & name, std::string const & id,
                      std::vector<std::string> const & enginetypes,
+                     std::string const & cfm,
                      std::vector<std::string> const & defaultbiblios,
                      std::string const & description,
-                     std::vector<std::string> const & packagelist,
-                     std::vector<std::string> const & requires,
-                     std::vector<std::string> const & excludes);
+                     std::vector<std::string> const & packagelist);
        /// whether the required packages are available
        bool isAvailable() const;
        /// the missing prerequisites, if any
@@ -67,6 +66,8 @@ public:
        ///
        std::string const & getFilename() const { return filename_; }
        ///
+       std::string const & getCiteFramework() const { return cite_framework_; }
+       ///
        std::vector<std::string> const & getEngineType() const { return engine_types_; }
        ///
        bool hasEngineType(CiteEngineType const &) const;
@@ -80,18 +81,7 @@ public:
        std::vector<std::string> const & getPackageList() const
                { return package_list_; }
        ///
-       std::vector<std::string> const & getRequiredEngines() const
-               { return required_engines_; }
-       /// Engines this one excludes: the list should be treated disjunctively
-       std::vector<std::string> const & getExcludedEngines() const
-               { return excluded_engines_; }
-       /// \return true if the engine is compatible with this one, i.e.,
-       /// it does not exclude us and we do not exclude it.
-       /// this will also return true if cename is unknown and we do not
-       /// exclude it, since in that case we cannot check its exclusions.
-       bool isCompatible(std::string const & cename) const;
-       ///
-       static bool areCompatible(std::string const & eng1, std::string const & eng2);
+       bool requires(std::string const p) const;
 private:
        /// what appears in the ui
        std::string name_;
@@ -102,16 +92,14 @@ private:
        std::string filename_;
        /// the engine type(s)
        std::vector<std::string> engine_types_;
+       /// cite framework (bibtex, biblatex)
+       std::string cite_framework_;
        /// default bibliography styles
        std::vector<std::string> default_biblios_;
        /// a short description for use in the ui
        std::string description_;
        /// the LaTeX packages on which this depends, if any
        std::vector<std::string> package_list_;
-       /// Engines this one requires: at least one
-       std::vector<std::string> required_engines_;
-       /// Engines this one excludes: none of these
-       std::vector<std::string> excluded_engines_;
        // these are mutable because they are used to cache the results
        // or an otherwise const operation.
        ///
@@ -160,13 +148,13 @@ public:
        void operator=(CiteEnginesList const &);
        /// add an engine to the list
        void addCiteEngine(std::string const &, std::string const &,
-               std::vector<std::string> const &, std::vector<std::string> const &,
-               std::string const &, std::vector<std::string> const &,
-               std::vector<std::string> const &, std::vector<std::string> const &);
+               std::vector<std::string> const &, std::string const &,
+               std::vector<std::string> const &, std::string const &,
+               std::vector<std::string> const &);
        ///
        std::vector<LyXCiteEngine> englist_;
 };
 
 extern CiteEnginesList theCiteEnginesList;
-}
+} // namespace lyx
 #endif