Mercurial > trustbridge
annotate ui/processhelp.h @ 941:e66e23d340b9
(issue72) Updated red circle icon.
author | Emanuel Schuetze <emanuel@intevation.de> |
---|---|
date | Mon, 25 Aug 2014 12:56:15 +0200 |
parents | 20ca94680003 |
children | 78798d3af8f0 |
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 /** |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
18 * @file Static helper functions for process handling |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
19 * @brief process handling functions |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
20 */ |
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
21 |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
22 namespace ProcessHelp |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
23 { |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
24 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
25 * @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
|
26 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
27 * Looks up processes run by the current user. |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
28 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
29 * @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
|
30 * @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
|
31 */ |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
32 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
|
33 |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
34 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
35 * @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
|
36 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
37 * @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
|
38 * |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
39 * @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
|
40 */ |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
41 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
|
42 |
606
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
43 /** |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
44 * @brief Activates the window for first found process |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
45 * @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
|
46 */ |
91dd38a71783
Style: run astyle on processhelp
Andre Heinecke <andre.heinecke@intevation.de>
parents:
603
diff
changeset
|
47 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
|
48 |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
49 /** |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
50 * @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
|
51 */ |
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
52 void cleanUp(void); |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
53 } |
782
20ca94680003
Implemented detection of running instance on linux using a lock file.
Sascha Wilde <wilde@intevation.de>
parents:
606
diff
changeset
|
54 |
603
cfef809b890d
Add Process Management functions and ther implementation for windows.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
55 #endif // PROCESSHELP_H |