Commit | Line | Data |
---|---|---|
484a3024 SM |
1 | /* |
2 | * SPDX-License-Identifier: GPL-2.0-only | |
3 | * | |
4 | * Copyright (C) 2020-2023 EfficiOS, inc. | |
5 | */ | |
6 | ||
7 | #ifndef TESTS_LIB_UTILS_H | |
8 | #define TESTS_LIB_UTILS_H | |
9 | ||
c802cacb SM |
10 | #include <babeltrace2/babeltrace.h> |
11 | ||
5d15e4ca SM |
12 | #include "cpp-common/bt2/self-component-class.hpp" |
13 | #include "cpp-common/bt2/self-component-port.hpp" | |
14 | #include "cpp-common/bt2/self-message-iterator.hpp" | |
15 | ||
484a3024 | 16 | /* |
5d7e57e8 | 17 | * Base class from which to inherit to call runIn(). |
484a3024 | 18 | * |
5d7e57e8 SM |
19 | * Override any of the on*() methods to get your statements executed in |
20 | * a specific context. | |
484a3024 | 21 | */ |
5d7e57e8 SM |
22 | class RunIn |
23 | { | |
24 | public: | |
25 | virtual ~RunIn() = default; | |
26 | ||
27 | /* | |
28 | * Called when querying the component class `self`. | |
29 | */ | |
30 | virtual void onQuery(bt2::SelfComponentClass self); | |
31 | ||
32 | /* | |
33 | * Called when initializing the component `self`. | |
34 | */ | |
35 | virtual void onCompInit(bt2::SelfComponent self); | |
36 | ||
37 | /* | |
38 | * Called when initializing the message iterator `self`. | |
39 | */ | |
40 | virtual void onMsgIterInit(bt2::SelfMessageIterator self); | |
41 | }; | |
484a3024 SM |
42 | |
43 | /* | |
5d7e57e8 SM |
44 | * Runs a simple graph (one source and one sink component), calling the |
45 | * `on*()` methods of `runIn` along the way. | |
484a3024 | 46 | */ |
5d7e57e8 | 47 | void runIn(RunIn& runIn); |
484a3024 SM |
48 | |
49 | #endif /* TESTS_LIB_UTILS_H */ |