Commit | Line | Data |
---|---|---|
0220be14 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_EVENT_CLASS_H | |
9 | #define LTTNG_EVENT_CLASS_H | |
10 | ||
11 | #include "field.hpp" | |
12 | ||
13 | #include <common/uuid.hpp> | |
14 | #include <vendor/optional.hpp> | |
15 | ||
16 | #include <string> | |
17 | ||
18 | namespace lttng { | |
19 | namespace sessiond { | |
20 | namespace trace { | |
21 | ||
22 | class trace_class_visitor; | |
23 | ||
24 | class event_class { | |
25 | public: | |
26 | virtual void accept(trace_class_visitor& visitor) const; | |
27 | virtual ~event_class() = default; | |
28 | ||
29 | const unsigned int id; | |
30 | const unsigned int stream_class_id; | |
31 | const int log_level; | |
32 | const std::string name; | |
33 | const nonstd::optional<std::string> model_emf_uri; | |
34 | const lttng::sessiond::trace::type::cuptr payload; | |
35 | ||
36 | protected: | |
37 | event_class(unsigned int id, | |
38 | unsigned int stream_class_id, | |
39 | int log_level, | |
40 | std::string name, | |
41 | nonstd::optional<std::string> model_emf_uri, | |
42 | lttng::sessiond::trace::type::cuptr payload); | |
43 | }; | |
44 | ||
45 | } /* namespace trace */ | |
46 | } /* namespace sessiond */ | |
47 | } /* namespace lttng */ | |
48 | ||
49 | #endif /* LTTNG_EVENT_CLASS_H */ |