X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fconverter.h;h=6350fd5fdc98a623bb10e4af730386053bb309d4;hb=ba62665f966508db5a4de6864f4aa7374c5a5356;hp=bfdb26f788ca7cd4e5a0bd0e944d7ea57b8b86e0;hpb=4ea4f87ebf84d6d52eb730caecc472c3c43dc784;p=lyx.git diff --git a/src/converter.h b/src/converter.h index bfdb26f788..6350fd5fdc 100644 --- a/src/converter.h +++ b/src/converter.h @@ -19,7 +19,12 @@ #include +namespace lyx { + +namespace support { class FileName; } + class Buffer; +class ErrorList; class Format; class Formats; class OutputParams; @@ -103,15 +108,21 @@ public: Graph::EdgePath const getPath(std::string const & from, std::string const & to); /// OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path); + /// Flags for converting files + enum ConversionFlags { + /// No special flags + none = 0, + /// Use the default converter if no converter is defined + try_default = 1 << 0, + /// Get the converted file from cache if possible + try_cache = 1 << 1 + }; /// bool convert(Buffer const * buffer, - std::string const & from_file, std::string const & to_file_base, - std::string const & from_format, std::string const & to_format, - std::string & to_file); - /// - bool convert(Buffer const * buffer, - std::string const & from_file, std::string const & to_file_base, - std::string const & from_format, std::string const & to_format); + support::FileName const & from_file, support::FileName const & to_file, + support::FileName const & orig_from, + std::string const & from_format, std::string const & to_format, + ErrorList & errorList, int conversionflags = none); /// void update(Formats const & formats); /// @@ -133,10 +144,10 @@ private: intToFormat(std::vector const & input); /// bool scanLog(Buffer const & buffer, std::string const & command, - std::string const & filename); + support::FileName const & filename, ErrorList & errorList); /// bool runLaTeX(Buffer const & buffer, std::string const & command, - OutputParams const &); + OutputParams const &, ErrorList & errorList); /// ConverterList converterlist_; /// @@ -144,14 +155,20 @@ private: /// If \p from = /path/file.ext and \p to = /path2/file2.ext2 then /// this method moves each /path/file*.ext file to /path2/file2*.ext2 bool move(std::string const & fmt, - std::string const & from, std::string const & to, + support::FileName const & from, support::FileName const & to, bool copy); /// Graph G_; }; -extern Converters converters; +/// The global instance. +/// Implementation is in lyx_main.C. +extern Converters & theConverters(); + +/// The global copy after reading lyxrc.defaults. +/// Implementation is in lyx_main.C. +extern Converters & theSystemConverters(); -extern Converters system_converters; +} // namespace lyx #endif //CONVERTER_H