swift
windllutils.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_WINDLLUTILS_H
7 #define SWIFT_MISC_WINDLLUTILS_H
8 
9 #include <QList>
10 #include <QString>
11 
12 #include "misc/swiftmiscexport.h"
13 
14 namespace swift::misc
15 {
18  {
19  public:
21  CWinDllUtils() = delete;
22 
24  struct DLLInfo
25  {
26  QString iso;
27  QString errorMsg;
28  QString fileVersion;
29  QString fileDescription;
30  QString productVersion;
32  QString productName;
33  QString originalFilename;
34  QString fullFilename;
35 
37  const QString &productOrFileVersion() const
38  {
39  if (!productVersionName.isEmpty()) { return productVersionName; }
40  if (!productVersion.isEmpty()) { return productVersion; }
41  return fileVersion;
42  }
43 
45  QString summary() const
46  {
47  if (!errorMsg.isEmpty()) { return errorMsg; }
48  static const QString s("Product: '%1' version: %2 language: %3 filename: '%4'");
49  return s.arg(productName, productOrFileVersion(), iso, fullFilename);
50  }
51  };
52 
55  {
56  QString moduleName;
57  QString executable;
58  qint64 processId = -1;
59  };
60 
62  static DLLInfo getDllInfo(const QString &dllFile);
63 
65  static QList<ProcessModule> getModules(qint64 processId = -1, const QString &nameFilter = {});
66  };
67 } // namespace swift::misc
68 #endif // SWIFT_MISC_WINDLLUTILS_H
Functions dealing with Windows DLLs.
Definition: windllutils.h:18
CWinDllUtils()=delete
No ctor.
Free functions in swift::misc.
QString productName
product name
Definition: windllutils.h:32
const QString & productOrFileVersion() const
Product or file version.
Definition: windllutils.h:37
QString fileVersion
file version, like 3.2.1.3
Definition: windllutils.h:28
QString productVersion
product version, like 3.2.1.3
Definition: windllutils.h:30
QString productVersionName
version and name
Definition: windllutils.h:31
QString iso
language iso code
Definition: windllutils.h:26
QString originalFilename
original filename
Definition: windllutils.h:33
QString summary() const
Summary.
Definition: windllutils.h:45
QString errorMsg
error message if any
Definition: windllutils.h:27
QString fullFilename
full filename and path
Definition: windllutils.h:34
QString fileDescription
file description
Definition: windllutils.h:29
QString executable
full executable path
Definition: windllutils.h:57
QString moduleName
module / dll name
Definition: windllutils.h:56
#define SWIFT_MISC_EXPORT
Export a class or function from the library.