annotate ui/processhelp.h @ 1070:f110a3f6e387

(issue114) Fine tune ACL propagation using mkdir_p the ACL of the parent directories would propagate to all subdirectories and objects in the directory. Now we only use ACL propagation in the last directory to make sure that files we might create in that directory inherit the correct (resitricted) ACL
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 16:41:36 +0200
parents 78798d3af8f0
children 2a1206932f53
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 /**
1053
78798d3af8f0 Fixed doxygen build warnings.
Emanuel Schuetze <emanuel@intevation.de>
parents: 782
diff changeset
18 * @file processhelp.h
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 */
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

http://wald.intevation.org/projects/trustbridge/