X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsCache.h;h=0fd1dd0102a1945eb990c32140f79d7a4c2a2018;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=dbd3d6286d2a909545881ae7cdc2b5e830670136;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/src/graphics/GraphicsCache.h b/src/graphics/GraphicsCache.h index dbd3d6286d..0fd1dd0102 100644 --- a/src/graphics/GraphicsCache.h +++ b/src/graphics/GraphicsCache.h @@ -20,19 +20,20 @@ #ifndef GRAPHICSCACHE_H #define GRAPHICSCACHE_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(std::string const & file) const; + void add(support::FileName const & file, support::FileName const & doc_file) const; /// Remove a file from the cache. - void remove(std::string const & file) const; + void remove(support::FileName const & file) const; /// Returns \c true if the file is in the cache. - bool inCache(std::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(std::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