tests/lib: C++ify run-in and condition trigger code
[babeltrace.git] / tests / lib / utils / run-in.hpp
CommitLineData
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
22class RunIn
23{
24public:
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 47void runIn(RunIn& runIn);
484a3024
SM
48
49#endif /* TESTS_LIB_UTILS_H */
This page took 0.031808 seconds and 4 git commands to generate.