#ifndef EXTERNALSUPPORT_H
#define EXTERNALSUPPORT_H
-#include <iosfwd>
#include <string>
+
+namespace lyx {
+
class Buffer;
+class ExportData;
class InsetExternalParams;
+class otexstream;
-namespace lyx {
namespace external {
+enum RetVal {
+ SUCCESS,
+ NOT_NEEDED,
+ FAILURE,
+ KILLED
+};
+
class Template;
/// A shorthand, helper function
Buffer const & buffer);
-/// Substitute meta-variables in string s, making use of params and buffer.
+enum Substitute {
+ ALL,
+ PATHS,
+ ALL_BUT_PATHS,
+ FORMATS
+};
+
+/** Substitute meta-variables in string \p s, making use of \p params and
+ \p buffer.
+ If \p external_in_tmpdir is true, all files are assumed to be in the
+ master buffers temp path, and the mangled filename is used.
+ Otherwise, the output filename (absolute or relative to the parent
+ document, as written in the .lyx file) is used.
+*/
std::string const doSubstitution(InsetExternalParams const & params,
Buffer const & buffer,
- std::string const & s);
+ std::string const & s,
+ bool use_latex_path,
+ bool external_in_tmpdir = false,
+ Substitute what = ALL);
/** Write the output for a specific file format
and generate any external data files.
- If \param external_in_tmpdir == true, then the generated file is
+ If \p external_in_tmpdir == true, then the generated file is
place in the buffer's temporary directory.
*/
-int writeExternal(InsetExternalParams const &,
- std::string const & format,
- Buffer const &,
- std::ostream &,
- bool external_in_tmpdir = false);
+RetVal writeExternal(InsetExternalParams const &,
+ std::string const & format,
+ Buffer const &,
+ otexstream &,
+ ExportData &,
+ bool external_in_tmpdir,
+ bool dryrun);
} // namespace external
} // namespace lyx