]> git.lyx.org Git - lyx.git/blobdiff - src/ConverterCache.cpp
cosmetics
[lyx.git] / src / ConverterCache.cpp
index 72425ed8b3d6d06f05d92ca3a531f8eb4576b740..cea102075bd913a8c06824763af2d2bb8fe43da6 100644 (file)
 #include "support/lyxtime.h"
 #include "support/Package.h"
 
+#include <boost/assert.hpp>
 #include <boost/crc.hpp>
-#include <boost/filesystem/operations.hpp>
 #include <boost/current_function.hpp>
 
+#include <algorithm>
 #include <fstream>
 #include <iomanip>
 #include <map>
 #include <sstream>
 
-using lyx::support::addName;
-
 using std::string;
 
-namespace fs = boost::filesystem;
-
 namespace lyx {
 
 using support::FileName;
+using support::addName;
 
 namespace {
 
@@ -135,7 +133,7 @@ void ConverterCache::Impl::readIndex()
                CacheItem item(orig_from_name, to_format, timestamp, checksum);
 
                // Don't cache files that do not exist anymore
-               if (!fs::exists(orig_from_name.toFilesystemEncoding())) {
+               if (!orig_from_name.exists()) {
                        LYXERR(Debug::FILES) << "Not caching file `"
                                << orig_from << "' (does not exist anymore)."
                                << std::endl;
@@ -146,7 +144,7 @@ void ConverterCache::Impl::readIndex()
                // Don't add items that are not in the cache anymore
                // This can happen if two instances of LyX are running
                // at the same time and update the index file independantly.
-               if (!fs::exists(item.cache_name.toFilesystemEncoding())) {
+               if (!item.cache_name.exists()) {
                        LYXERR(Debug::FILES) << "Not caching file `"
                                << orig_from
                                << "' (cached copy does not exist anymore)."
@@ -155,8 +153,8 @@ void ConverterCache::Impl::readIndex()
                }
 
                // Delete the cached file if it is too old
-               if (difftime(now, fs::last_write_time(item.cache_name.toFilesystemEncoding())) >
-                   lyxrc.converter_cache_maxage) {
+               if (difftime(now, item.cache_name.lastModified())
+                               > lyxrc.converter_cache_maxage) {
                        LYXERR(Debug::FILES) << "Not caching file `"
                                << orig_from << "' (too old)." << std::endl;
                        support::unlink(item.cache_name);
@@ -213,6 +211,26 @@ CacheItem * ConverterCache::Impl::find(FileName const & from,
 }
 
 
+/////////////////////////////////////////////////////////////////////
+//
+// ConverterCache
+//
+/////////////////////////////////////////////////////////////////////
+
+ConverterCache::ConverterCache()
+       : pimpl_(new Impl)
+{}
+
+
+ConverterCache::~ConverterCache()
+{
+       if (!lyxrc.use_converter_cache)
+               return;
+       pimpl_->writeIndex();
+       delete pimpl_;
+}
+
+
 ConverterCache & ConverterCache::get()
 {
        // Now return the cache
@@ -228,7 +246,7 @@ void ConverterCache::init()
        // We do this here and not in the constructor because package() gets
        // initialized after all static variables.
        cache_dir = FileName(addName(support::package().user_support().absFilename(), "cache"));
-       if (!fs::exists(cache_dir.toFilesystemEncoding()))
+       if (!cache_dir.exists())
                if (support::mkdir(cache_dir, 0700) != 0) {
                        lyxerr << "Could not create cache directory `"
                               << cache_dir << "'." << std::endl;
@@ -238,19 +256,6 @@ void ConverterCache::init()
 }
 
 
-ConverterCache::ConverterCache()
-       : pimpl_(new Impl)
-{}
-
-
-ConverterCache::~ConverterCache()
-{
-       if (!lyxrc.use_converter_cache)
-               return;
-       pimpl_->writeIndex();
-}
-
-
 void ConverterCache::add(FileName const & orig_from, string const & to_format,
                FileName const & converted_file) const
 {
@@ -273,7 +278,7 @@ void ConverterCache::add(FileName const & orig_from, string const & to_format,
        // Is the file in the cache already?
        CacheItem * item = pimpl_->find(orig_from, to_format);
 
-       time_t const timestamp = fs::last_write_time(orig_from.toFilesystemEncoding());
+       time_t const timestamp = orig_from.lastModified();
        Mover const & mover = getMover(to_format);
        if (item) {
                LYXERR(Debug::FILES) << "ConverterCache::add(" << orig_from << "):\n"
@@ -395,7 +400,7 @@ bool ConverterCache::inCache(FileName const & orig_from,
                LYXERR(Debug::FILES) << "not in cache." << std::endl;
                return false;
        }
-       time_t const timestamp = fs::last_write_time(orig_from.toFilesystemEncoding());
+       time_t const timestamp = orig_from.lastModified();
        if (item->timestamp == timestamp) {
                LYXERR(Debug::FILES) << "identical timestamp." << std::endl;
                return true;