X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsCache.h;h=66cfc85bf6e490160b1b91886b80425fd2781cd2;hb=a700d657b3b06541b10ddae8cc5847bd46d06aae;hp=1106e6b005f4ff1a24469cd307002e7c50afbc36;hpb=888532c465863dc2e1591524bc0815e029c6b99a;p=lyx.git diff --git a/src/graphics/GraphicsCache.h b/src/graphics/GraphicsCache.h index 1106e6b005..66cfc85bf6 100644 --- a/src/graphics/GraphicsCache.h +++ b/src/graphics/GraphicsCache.h @@ -1,38 +1,39 @@ // -*- C++ -*- /** - * \file GraphicsCache.h - * Copyright 2002 the LyX Team - * Read the file COPYING + * \file GraphicsCache.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * \author Baruch Even - * \author Angus Leeming + * \author Baruch Even + * \author Angus Leeming * - * grfx::Cache is the manager of the image cache. - * It is responsible for creating the grfx::CacheItem's and maintaining them. + * Full author contact details are available in file CREDITS. * - * grfx::Cache is a singleton class. It is possible to have only one - * instance of it at any moment. + * lyx::graphics::Cache is the manager of the image cache. + * It is responsible for creating the lyx::graphics::CacheItem's + * and maintaining them. + * + * lyx::graphics::Cache is a singleton class. It is possible to have only one + * instance of it at any moment. */ #ifndef GRAPHICSCACHE_H #define GRAPHICSCACHE_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include "LString.h" +#include +#include #include -#include -#include -#include -namespace grfx { +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); + void add(support::FileName const & file) const; /// Remove a file from the cache. - void remove(string const & file); + 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 - * GraphicPtr. 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,9 +83,10 @@ 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 grfx +} // namespace graphics +} // namespace lyx #endif // GRAPHICSCACHE_H