X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgraphics%2FGraphicsCache.h;h=0fd1dd0102a1945eb990c32140f79d7a4c2a2018;hb=110f8f67ac1afe9892dad5566d1c697044427cf0;hp=41427e07b33ce3e72609f662df7672a8765e5642;hpb=236ea81bc5c0ce7101c9460d1ee97b8f3c9be9df;p=lyx.git diff --git a/src/graphics/GraphicsCache.h b/src/graphics/GraphicsCache.h index 41427e07b3..0fd1dd0102 100644 --- a/src/graphics/GraphicsCache.h +++ b/src/graphics/GraphicsCache.h @@ -20,19 +20,20 @@ #ifndef GRAPHICSCACHE_H #define GRAPHICSCACHE_H -#include "support/std_string.h" +#include +#include #include -#include -#include -#include namespace lyx { + +namespace support { class FileName; } + namespace graphics { class CacheItem; -class Cache : boost::noncopyable { +class Cache { public: /// This is a singleton class. Get the instance. @@ -42,32 +43,36 @@ public: * Other formats can be loaded if a converter to a loadable format * can be defined. */ - std::vector loadableFormats() const; + std::vector const & loadableFormats() const; /// Add a graphics file to the cache. - void add(string const & file) const; + void add(support::FileName const & file, support::FileName const & doc_file) const; /// Remove a file from the cache. - void remove(string const & file) const; + void remove(support::FileName const & file) const; /// Returns \c true if the file is in the cache. - bool inCache(string const & file) const; + bool inCache(support::FileName const & file) const; /** Get the cache item associated with file. * Returns an empty container if there is no such item. * * IMPORTANT: whatever uses an image must make a local copy of this - * ItemPtr. The boost::shared_ptr<>::use_count() function is + * ItemPtr. The shared_ptr<>::use_count() function is * used to ascertain whether or not to remove the item from the cache * when remove(file) is called. * * You have been warned! */ - typedef boost::shared_ptr ItemPtr; + typedef std::shared_ptr ItemPtr; /// - ItemPtr const item(string const & file) const; + ItemPtr const item(support::FileName const & file) const; private: + /// noncopyable + Cache(Cache const &); + void operator=(Cache const &); + /** Make the c-tor, d-tor private so we can control how many objects * are instantiated. */ @@ -78,7 +83,7 @@ private: /// 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