diff options
author | Alex Zolotarev <deathbaba@gmail.com> | 2011-10-02 02:40:11 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:24:55 +0300 |
commit | d6b9bf5525a12ab96d16785c6c72b863f519a9ab (patch) | |
tree | 34d417e39a83505d89ac672e7b9f37bfd0a4d96f /platform/platform.hpp | |
parent | 0345b017ffee30c4504cbd91ba0d32be6fec826e (diff) |
[ios][qt] Platform refactoring
Diffstat (limited to 'platform/platform.hpp')
-rw-r--r-- | platform/platform.hpp | 73 |
1 files changed, 22 insertions, 51 deletions
diff --git a/platform/platform.hpp b/platform/platform.hpp index aefca3e0ff..5bed8e580e 100644 --- a/platform/platform.hpp +++ b/platform/platform.hpp @@ -8,31 +8,31 @@ #include "../std/vector.hpp" #include "../std/utility.hpp" - DECLARE_EXCEPTION(FileAbsentException, RootException); DECLARE_EXCEPTION(NotImplementedException, RootException); - class Platform { + string m_writableDir, m_resourcesDir; + class PlatformImpl; + PlatformImpl * m_impl; + public: - virtual ~Platform() {} + Platform(); + ~Platform(); /// @return always the same writable dir for current user with slash at the end - virtual string WritableDir() const = 0; + string WritableDir() const { return m_writableDir; } /// @return full path to file in user's writable directory - string WritablePathForFile(string const & file) const - { - return WritableDir() + file; - } + string WritablePathForFile(string const & file) const { return WritableDir() + file; } /// @return resource dir (on some platforms it's differ from Writable dir) - virtual string ResourcesDir() const = 0; + string ResourcesDir() const { return m_resourcesDir; } /// @return reader for file decriptor. /// @throws FileAbsentException /// @param[in] file descriptor which we want to read - virtual ModelReader * GetReader(string const & file) const = 0; + ModelReader * GetReader(string const & file) const; /// @name File operations //@{ @@ -41,11 +41,9 @@ public: /// @param directory directory path with slash at the end /// @param mask files extension to find, like ".map" etc /// @return number of files found in outFiles - virtual void GetFilesInDir(string const & directory, string const & mask, FilesList & outFiles) const = 0; + void GetFilesInDir(string const & directory, string const & mask, FilesList & outFiles) const; /// @return false if file is not exist - virtual bool GetFileSize(string const & file, uint64_t & size) const = 0; - /// Renamed to avoid conflict with Windows macroses - virtual bool RenameFileX(string const & original, string const & newName) const = 0; + bool GetFileSize(string const & file, uint64_t & size) const; /// Simple file existing check bool IsFileExists(string const & file) const { @@ -54,52 +52,25 @@ public: } //@} - virtual int CpuCores() const = 0; - - virtual double VisualScale() const = 0; + int CpuCores() const; - virtual string SkinName() const = 0; + double VisualScale() const; - virtual void GetFontNames(FilesList & res) const = 0; + string SkinName() const; - virtual bool IsBenchmarking() const = 0; + void GetFontNames(FilesList & res) const; - virtual bool IsMultiThreadedRendering() const = 0; + bool IsMultiThreadedRendering() const; - virtual int TileSize() const = 0; + int TileSize() const; - virtual int MaxTilesCount() const = 0; + int MaxTilesCount() const; - virtual bool IsVisualLog() const = 0; + string DeviceName() const; - virtual string DeviceID() const = 0; + int ScaleEtalonSize() const; - virtual int ScaleEtalonSize() const = 0; -}; - -class BasePlatformImpl : public Platform -{ -protected: - string m_writableDir, m_resourcesDir; - -public: - virtual string WritableDir() const { return m_writableDir; } - virtual string ResourcesDir() const { return m_resourcesDir; } - virtual ModelReader * GetReader(string const & file) const; - - virtual void GetFilesInDir(string const & directory, string const & mask, FilesList & res) const; - virtual bool GetFileSize(string const & file, uint64_t & size) const; - virtual bool RenameFileX(string const & fOld, string const & fNew) const; - virtual void GetFontNames(FilesList & res) const; - - virtual double VisualScale() const; - virtual string SkinName() const; - virtual bool IsBenchmarking() const; - virtual bool IsVisualLog() const; - virtual bool IsMultiThreadedRendering() const; - virtual int ScaleEtalonSize() const; - virtual int TileSize() const; - virtual int MaxTilesCount() const; + string UniqueClientId() const; }; extern "C" Platform & GetPlatform(); |