process-cpp
3.0.0
A simple convenience library for handling processes in C++11.
process.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Thomas Voß <thomas.voss@canonical.com>
17
*/
18
19
#ifndef CORE_POSIX_PROCESS_H_
20
#define CORE_POSIX_PROCESS_H_
21
22
#include <
core/posix/process_group.h
>
23
#include <
core/posix/signalable.h
>
24
#include <
core/posix/this_process.h
>
25
#include <
core/posix/visibility.h
>
26
#include <
core/posix/wait.h
>
27
28
#include <memory>
29
#include <system_error>
30
31
namespace
core
32
{
33
namespace
posix
34
{
35
enum class
Signal
;
36
class
Self;
37
class
WaitFlags;
38
44
class
CORE_POSIX_DLL_PUBLIC
Process
:
public
Signalable
45
{
46
public
:
52
explicit
Process
(pid_t pid);
53
58
static
Process
invalid();
59
63
virtual
~
Process
() noexcept;
64
69
virtual
pid_t pid()
const
;
70
76
virtual
ProcessGroup
process_group_or_throw()
const
;
77
85
virtual
ProcessGroup
process_group(std::error_code& se)
const
noexcept(
true
);
86
87
private
:
88
struct
CORE_POSIX_DLL_LOCAL
Private
;
89
std::shared_ptr<Private> d;
90
};
91
}
92
}
93
#endif // CORE_POSIX_PROCESS_H_
CORE_POSIX_DLL_LOCAL
#define CORE_POSIX_DLL_LOCAL
Definition:
visibility.h:27
core::posix::Process::Private
Definition:
process.cpp:33
process_group.h
visibility.h
core::posix::ProcessGroup
The ProcessGroup class models a signalable group of process.
Definition:
process_group.h:43
CORE_POSIX_DLL_PUBLIC
#define CORE_POSIX_DLL_PUBLIC
Definition:
visibility.h:26
core::posix::Signalable
The Signalable class abstracts the ability of an entity to be delivered a posix signal.
Definition:
signalable.h:35
this_process.h
wait.h
core::posix::Signal
Signal
The Signal enum collects the most common POSIX signals.
Definition:
signal.h:38
core
Definition:
child_process.h:31
signalable.h
core::posix::Process
The Process class models a process and possible operations on it.
Definition:
process.h:44
include
core
posix
process.h
Generated on Mon Feb 3 2020 21:22:41 for process-cpp by
1.8.16