Commit | Line | Data |
---|---|---|
b0f2e8db JG |
1 | /* |
2 | * Copyright (C) 2022 Jérémie Galarneau <jeremie.galarneau@efficios.com> | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0-only | |
5 | * | |
6 | */ | |
7 | ||
8 | #ifndef LTTNG_UST_REGISTRY_SESSION_PID_H | |
9 | #define LTTNG_UST_REGISTRY_SESSION_PID_H | |
10 | ||
11 | #include "trace-class.hpp" | |
12 | #include "ust-registry-session.hpp" | |
13 | ||
28f23191 JG |
14 | #include <lttng/lttng.h> |
15 | ||
b0f2e8db JG |
16 | #include <cstdint> |
17 | #include <ctime> | |
b0f2e8db JG |
18 | #include <string> |
19 | #include <unistd.h> | |
20 | ||
21 | namespace lttng { | |
22 | namespace sessiond { | |
23 | namespace ust { | |
24 | ||
25 | class registry_session_per_pid : public registry_session { | |
26 | public: | |
27 | registry_session_per_pid(const struct ust_app& app, | |
28f23191 JG |
28 | const struct lttng::sessiond::trace::abi& trace_abi, |
29 | uint32_t major, | |
30 | uint32_t minor, | |
31 | const char *root_shm_path, | |
32 | const char *shm_path, | |
33 | uid_t euid, | |
34 | gid_t egid, | |
35 | uint64_t tracing_id); | |
b0f2e8db | 36 | |
4bcf2294 | 37 | virtual lttng_buffer_type buffering_scheme() const noexcept override final; |
da9dd521 | 38 | virtual void accept(lttng::sessiond::trace::trace_class_environment_visitor& |
28f23191 | 39 | environment_visitor) const override final; |
b0f2e8db JG |
40 | |
41 | private: | |
b0f2e8db JG |
42 | const unsigned int _tracer_patch_level_version; |
43 | const pid_t _vpid; | |
44 | const std::string _procname; | |
45 | const std::time_t _app_creation_time; | |
46 | }; | |
47 | ||
48 | } /* namespace ust */ | |
49 | } /* namespace sessiond */ | |
50 | } /* namespace lttng */ | |
51 | ||
52 | #endif /* LTTNG_UST_REGISTRY_SESSION_PID_H */ |