glc_cachemanager.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00025
00026 #ifndef GLC_CACHEMANAGER_H_
00027 #define GLC_CACHEMANAGER_H_
00028
00029 #include <QDir>
00030 #include <QString>
00031 #include <QDateTime>
00032 #include "geometry/glc_bsrep.h"
00033
00034 #include "glc_config.h"
00035
00038
00043
00044 class GLC_LIB_EXPORT GLC_CacheManager
00045 {
00046 public:
00048
00050
00051
00052 GLC_CacheManager(const QString& path= QString());
00053
00055 GLC_CacheManager(const GLC_CacheManager&);
00056
00058 GLC_CacheManager& operator=(const GLC_CacheManager&);
00059
00061 virtual ~GLC_CacheManager();
00063
00065
00067
00068 public:
00070 inline QString absolutePath() const
00071 {return m_Dir.absolutePath();}
00072
00074 inline bool exists() const
00075 {return m_Dir.exists();}
00076
00078 bool isReadable() const;
00079
00081 bool isWritable() const;
00082
00084 bool isCashed(const QString&, const QString&) const;
00085
00087 bool isUsable(const QDateTime&, const QString&, const QString&) const;
00088
00090 GLC_BSRep binary3DRep(const QString&, const QString&) const;
00091
00093 bool addToCache(const QString&, const GLC_3DRep&);
00094
00096 inline bool compressionIsUsed() const
00097 {return m_UseCompression;}
00098
00100 inline int compressionLevel() const
00101 {return m_CompressionLevel;}
00102
00104
00106
00108
00109 public:
00110
00112 bool setCachePath(const QString&);
00113
00115 inline void setCompressionUsage(bool use)
00116 {m_UseCompression= use;}
00117
00119 inline void setCompressionLevel(int level)
00120 {m_CompressionLevel= level;}
00122
00124
00126 private:
00127
00129 QDir m_Dir;
00130
00132 bool m_UseCompression;
00133
00135 int m_CompressionLevel;
00136 };
00137
00138 #endif