diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-06-29 15:26:04 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-06-29 15:26:04 -0400 |
| commit | eab0ec298b81138c4c602259ebf930f583113b95 (patch) | |
| tree | 2ed827f459a6d462ef32f6fb4ca28153f124ed5d /src/shared/util.h | |
| parent | 38b9c7c060aeee46d463930e313683e6e5bc0675 (diff) | |
refactored preloadSsl() into preloadDll()
removed old HGID check
moved formatSystemMessage() to uibase
added Environment class, lists loaded modules, logged at startup
Diffstat (limited to 'src/shared/util.h')
| -rw-r--r-- | src/shared/util.h | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/src/shared/util.h b/src/shared/util.h index 1fdfb089..5d88481c 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -46,8 +46,54 @@ std::wstring ToLower(const std::wstring &text); bool CaseInsensitiveEqual(const std::wstring &lhs, const std::wstring &rhs);
-VS_FIXEDFILEINFO GetFileVersion(const std::wstring &fileName);
-std::wstring GetFileVersionString(const std::wstring &fileName);
+class Environment
+{
+public:
+ class Module
+ {
+ public:
+ explicit Module(QString path, std::size_t fileSize);
+
+ const QString& path() const;
+ std::size_t fileSize() const;
+ const QString& version() const;
+ const QString& versionString() const;
+ QString timestampString() const;
+
+ QString toString() const;
+
+ private:
+ struct FileInfo
+ {
+ VS_FIXEDFILEINFO ffi;
+ QString fileDescription;
+ };
+
+ QString m_path;
+ std::size_t m_fileSize;
+ QString m_version;
+ QDateTime m_timestamp;
+ QString m_versionString;
+
+ FileInfo getFileInfo() const;
+
+ QString getVersion(const VS_FIXEDFILEINFO& fi) const;
+ QDateTime getTimestamp(const VS_FIXEDFILEINFO& fi) const;
+
+ VS_FIXEDFILEINFO getFixedFileInfo(std::byte* buffer) const;
+ QString getFileDescription(std::byte* buffer) const;
+ };
+
+ Environment();
+
+ const std::vector<Module>& loadedModules();
+
+private:
+ std::vector<Module> m_modules;
+
+ void getLoadedModules();
+};
+
MOBase::VersionInfo createVersionInfo();
} // namespace MOShared
|
