#include <map>
#include <string>
+
+namespace lyx {
+
/**
* Utility to copy a file of a specified format from one place to another.
* This base class simply invokes the command support::copy().
* \returns true if successful.
*/
bool
- copy(std::string const & from, std::string const & to) const
+ copy(std::string const & from, std::string const & to,
+ unsigned long int mode = (unsigned long int)-1) const
{
- return do_copy(from, to, to);
+ return do_copy(from, to, to, mode);
}
/** Copy file @c from to @c to.
*/
bool
copy(std::string const & from, std::string const & to,
- std::string const & latex) const
+ std::string const & latex,
+ unsigned long int mode = (unsigned long int)-1) const
{
- return do_copy(from, to, latex);
+ return do_copy(from, to, latex, mode);
}
/** Rename file @c from as @c to.
protected:
virtual bool
do_copy(std::string const & from, std::string const & to,
- std::string const &) const;
+ std::string const &, unsigned long int mode) const;
virtual bool
do_rename(std::string const & from, std::string const & to,
- std::string const &) const;
+ std::string const &) const;
};
* copied .fig file will require a transformation of the picture file
* reference if it is to be found by XFig.
*/
-struct SpecialisedMover : public Mover
+class SpecialisedMover : public Mover
{
+public:
SpecialisedMover() {}
/** @c command should be of the form
* <code>
- * sh $$s/copy_fig.sh $$i $$o $$l
+ * python $$s/scripts/fig_copy.py $$i $$o $$l
* </code>
- * where $$s is a placeholder for the lyx script directory,
+ * where $$s is a placeholder for the lyx support directory,
* $$i is a placeholder for the name of the file to be moved,
* $$o is a placeholder for the name of the file after moving,
* $$l is a placeholder for the name of the file after moving,
private:
virtual bool
do_copy(std::string const & from, std::string const & to,
- std::string const & latex) const;
+ std::string const & latex, unsigned long int mode) const;
virtual bool
do_rename(std::string const & from, std::string const & to,
- std::string const & latex) const;
+ std::string const & latex) const;
std::string command_;
};
extern Movers movers;
extern Movers system_movers;
+
+} // namespace lyx
+
#endif // MOVER_H