X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.h;h=0031d023f77b39e6f8b816e4eced9f607fccba7b;hb=18ebcab4035c3adc9ae15132b7ffc674f734238e;hp=8f63aba5124f4f08cc33a87519299029ed514d2f;hpb=f11bfe1697492f79f8cc02d4021305005cf539ef;p=lyx.git diff --git a/src/Converter.h b/src/Converter.h index 8f63aba512..0031d023f7 100644 --- a/src/Converter.h +++ b/src/Converter.h @@ -30,9 +30,17 @@ class ErrorList; class Format; class Formats; -typedef std::vector FormatList; +class ConversionException : public std::exception { +public: + ConversionException() {} + virtual ~ConversionException() throw() {} + virtual const char * what() const throw() + { return "Exception caught in conversion routine!"; } +}; +typedef std::vector FormatList; + /// class Converter { public: @@ -79,6 +87,8 @@ public: std::string const result_file() const { return result_file_; } /// std::string const parselog() const { return parselog_; } + /// + std::string const hyperref_driver() const { return href_driver_; } private: /// @@ -114,6 +124,8 @@ private: trivstring result_file_; /// Command to convert the program output to a LaTeX log file format trivstring parselog_; + /// The hyperref driver + trivstring href_driver_; }; @@ -124,7 +136,13 @@ public: typedef std::vector ConverterList; /// typedef ConverterList::const_iterator const_iterator; - + /// Return values for converter runs + enum RetVal { + SUCCESS = 0, + FAILURE = 1, + KILLED = 1000 + }; + /// Converter const & get(int i) const { return converterlist_[i]; } /// @@ -159,6 +177,8 @@ public: /// OutputParams::FLAVOR getFlavor(Graph::EdgePath const & path, Buffer const * buffer = 0); + /// + std::string getHyperrefDriver(Graph::EdgePath const & path); /// Flags for converting files enum ConversionFlags { /// No special flags @@ -169,7 +189,7 @@ public: try_cache = 1 << 1 }; /// - bool convert(Buffer const * buffer, + RetVal convert(Buffer const * buffer, 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, @@ -210,7 +230,7 @@ private: bool scanLog(Buffer const & buffer, std::string const & command, support::FileName const & filename, ErrorList & errorList); /// - bool runLaTeX(Buffer const & buffer, std::string const & command, + RetVal runLaTeX(Buffer const & buffer, std::string const & command, OutputParams const &, ErrorList & errorList); /// ConverterList converterlist_;