#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);
+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
*/
std::string const doSubstitution(InsetExternalParams const & params,
Buffer const & buffer,
- std::string const & s,
- bool external_in_tmpdir = false);
+ 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 &,
- ExportData &,
- 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