Mercurial > trustbridge
annotate ui/processhelp.h @ 1310:60e481aa75ca
(issue152) Do not return CryptUIDlgViewContext's return value
The return value is false if the user cancels the dialog.
But as the certificate has been shown this is not really an
error.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 13 Oct 2014 14:13:05 +0200 |
parents | 2a1aa9df8f11 |
children | 23df332b2a4c |
rev | line source |
---|---|
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
3 * |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=2) |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
6 * See LICENSE.txt for details. |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
7 * |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
8 * Parts of this code (especially windows) are based on kpimutils processes.cpp |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
9 * available under LGPL 2.1 or later. |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
10 */ |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
11 #ifndef PROCESSHELP_H |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
12 #define PROCESSHELP_H |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
13 |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
14 #include <QList> |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
15 #include <QString> |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
16 |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
17 /** |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
18 * @file processhelp.h |
1053
78798d3af8f0
Fixed doxygen build warnings.
Emanuel Schuetze <emanuel@intevation.de>
parents:
782
diff
changeset
|
19 * @brief Static helper functions for process handling |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
20 */ |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
21 /** @brief Static helper functions for process handling */ |
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
22 class ProcessHelp { |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
23 |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
24 public: |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
25 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
26 * @brief look up process id's for a processName |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
27 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
28 * Looks up processes run by the current user. |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
29 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
30 * @param[in] processName the name of the process to look for |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
31 * @returns a list of pids that match this process. May be empty |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
32 */ |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
33 static const QList<int> getProcessesIdForName(const QString &processName); |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
34 |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
35 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
36 * @brief check if another process with the same name exists |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
37 * |
1162
2a1206932f53
(issue107) Comment all TODO's and FIXME's with issues as documented in issue107
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1053
diff
changeset
|
38 * Under GNU/Linux this only works for processes that have a |
2a1206932f53
(issue107) Comment all TODO's and FIXME's with issues as documented in issue107
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1053
diff
changeset
|
39 * processName.pid file in QStandardPaths::DataLocation. |
2a1206932f53
(issue107) Comment all TODO's and FIXME's with issues as documented in issue107
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1053
diff
changeset
|
40 * |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
41 * @param[in] processName name of the process to look for. |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
42 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
43 * @returns true if one or more processes (other than the current process) exist |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
44 */ |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
45 static bool otherProcessesExist(const QString &processName); |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
46 |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
47 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
48 * @brief Activates the window for first found process |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
49 * @param [in] executableName executableName (without path and .exe extension) |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
50 */ |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
51 static void activateWindowForProcess(const QString &executableName); |
782
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
52 |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
53 /** |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
54 * @brief Clean up internaly used infrastructure like pid/lock files. |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
55 */ |
1255
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
56 static void cleanUp(void); |
2a1aa9df8f11
(issue133) Improve API documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1162
diff
changeset
|
57 }; |
782
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
58 |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
59 #endif // PROCESSHELP_H |