]> git.lyx.org Git - lyx.git/blobdiff - src/converter.h
* support/qstring_helpers.h: erase ucs4_to_qstring() method.
[lyx.git] / src / converter.h
index 7f941187d657fd90aa5e4a9cc631eb14eacd2b4c..6350fd5fdc98a623bb10e4af730386053bb309d4 100644 (file)
@@ -21,6 +21,7 @@
 
 namespace lyx {
 
+namespace support { class FileName; }
 
 class Buffer;
 class ErrorList;
@@ -107,17 +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, ErrorList & errorList,
-                        bool try_default = false);
-       ///
-       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,
-                        ErrorList & errorList, bool try_default = false);
+                    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);
        ///
@@ -139,7 +144,7 @@ private:
        intToFormat(std::vector<int> const & input);
        ///
        bool scanLog(Buffer const & buffer, std::string const & command,
-                    std::string const & filename, ErrorList & errorList);
+                    support::FileName const & filename, ErrorList & errorList);
        ///
        bool runLaTeX(Buffer const & buffer, std::string const & command,
                      OutputParams const &, ErrorList & errorList);
@@ -150,16 +155,19 @@ 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;
-
-extern Converters system_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();
 
 } // namespace lyx