X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsConverter.h;h=c038029bd8f99b61559fbfc7b0447e4aab4d9cb0;hb=8f3c95f7570f84effc4601e88f13ff48c6084f0c;hp=ed13961a011d093a4166a4c186f93fde6802d2e4;hpb=fe390e9da1538e20eabbc98977d845295f8e563d;p=lyx.git diff --git a/src/graphics/GraphicsConverter.h b/src/graphics/GraphicsConverter.h index ed13961a01..c038029bd8 100644 --- a/src/graphics/GraphicsConverter.h +++ b/src/graphics/GraphicsConverter.h @@ -1,43 +1,45 @@ // -*- C++ -*- /** - * \file GraphicsConverter.h + * \file GraphicsConverter.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Angus Leeming + * \author Angus Leeming * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. * - * The controller of a conversion process from file AA of format A to - * file BB of format B. - * Once finished, a signal is emitted to inform any listeners (connected - * through the connect() method). + * The controller of a conversion process from file AA of format A to + * file BB of format B. + * Once finished, a signal is emitted to inform any listeners (connected + * through the connect() method). */ #ifndef GRAPHICSCONVERTER_H #define GRAPHICSCONVERTER_H -#include "LString.h" -#include -#include -#include +#include "support/signals.h" + namespace lyx { + +namespace support { class FileName; } + namespace graphics { -class Converter : boost::noncopyable { +class Converter { public: /// Can the conversion be performed? - static bool isReachable(string const & from_format_name, - string const & to_format_name); + static bool isReachable(std::string const & from_format_name, + std::string const & to_format_name); /** One Converter per conversion ensures that the (hidden) signal * is always connected to the expected slot. */ - Converter(string const & from_file, string const & to_file_base, - string const & from_format, string const & to_format); + Converter(support::FileName const & doc_fname, + support::FileName const & from_file, std::string const & to_file_base, + std::string const & from_format, std::string const & to_format); - /// Define an empty d-tor out-of-line to keep boost::scoped_ptr happy. + /// Needed for the pimpl ~Converter(); /// We are explicit about when we begin the conversion process. @@ -45,25 +47,30 @@ public: /** Connect and you'll be informed when the conversion process has * finished. - * If the conversion is succesful, then the listener is passed \c true. + * If the conversion is successful, then the listener is passed \c true. + * The connection is closed when this is destroyed. */ - typedef boost::signal1::slot_type slot_type; + typedef signals2::signal sig_type; + typedef sig_type::slot_type slot_type; /// - boost::signals::connection connect(slot_type const &) const; + signals2::connection connect(slot_type const &) const; - /** If the conversion is succesful, this returns the name of the + /** If the conversion is successful, this returns the name of the * resulting file. * If conversion fails or has not been completed, however, it * returns an empty string. */ - string const & convertedFile() const; + support::FileName const & convertedFile() const; private: + /// noncopyable + Converter(Converter const &); + void operator=(Converter const &); + /// Use the Pimpl idiom to hide the internals. class Impl; - /// The pointer never changes although *pimpl_'s contents may. - boost::scoped_ptr const pimpl_; + Impl * const pimpl_; }; } // namespace graphics