tests/lib: C++ify run-in and condition trigger code
[babeltrace.git] / tests / lib / utils / run-in.hpp
... / ...
CommitLineData
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
10#include <babeltrace2/babeltrace.h>
11
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
16/*
17 * Base class from which to inherit to call runIn().
18 *
19 * Override any of the on*() methods to get your statements executed in
20 * a specific context.
21 */
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};
42
43/*
44 * Runs a simple graph (one source and one sink component), calling the
45 * `on*()` methods of `runIn` along the way.
46 */
47void runIn(RunIn& runIn);
48
49#endif /* TESTS_LIB_UTILS_H */
This page took 0.022516 seconds and 4 git commands to generate.