Sen API
Sen Libraries
Loading...
Searching...
No Matches
runtime_6/src/runtime.h
Go to the documentation of this file.
1// === runtime.h =======================================================================================================
2// Sen Infrastructure
3// Released under the Apache License v2.0 (SPDX-License-Identifier Apache-2.0).
4// See the LICENSE.txt file for more information.
5// © Airbus SAS, Airbus Helicopters, and Airbus Defence and Space SAU/GmbH/SAS.
6// =====================================================================================================================
7
8#ifndef SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_6_SRC_RUNTIME_H
9#define SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_6_SRC_RUNTIME_H
10
11// test_helpers
12#include "test_helpers/tester.stl.h"
13
14// sen
16#include "stl/runtime/runtime.stl.h"
17#include "stl/sen/kernel/kernel_objects.stl.h"
18
19// std
20#include <bitset>
21
22namespace sen::test::runtime
23{
24
25class TestClassImpl final: public TestClassBase
26{
27public:
28 SEN_NOCOPY_NOMOVE(TestClassImpl)
29
30public:
31 using TestClassBase::TestClassBase;
32 ~TestClassImpl() override = default;
33
34protected: // TestClassBase
35 TestEnum testMethodImpl(const runtime::TestSequence2& arg1,
36 const runtime::TestStructBase& arg3,
37 const runtime::TestVariant& arg2) override;
38 void emitEventsImpl() override;
39};
40
41class TesterImpl final: public TesterBase
42{
43public:
44 SEN_NOCOPY_NOMOVE(TesterImpl)
45
46public:
47 using TesterBase::TesterBase;
48 ~TesterImpl() override = default;
49
50public: // NativeObject
52
53protected: // TesterBase
54 void doTestsImpl(std::promise<TestResult>&& promise) override;
55 void checkLocalStateImpl(std::promise<TestResult>&& promise) override;
56 void shutdownKernelImpl() override;
57
58private:
59 void checkRemote(u32 flagToSet);
60
61private:
62 std::shared_ptr<TestClassImpl> localObj_;
63 std::shared_ptr<sen::Subscription<TestClassInterface>> remoteObjSub_;
64 TestClassInterface* remoteObj_ = nullptr;
65 std::promise<TestResult> promise_;
66 std::bitset<15> localFlags_;
67 std::bitset<17> remoteFlags_;
68 bool testMethodPassed_ = false;
69 bool testEventPassed_ = true;
70 std::shared_ptr<sen::Subscription<sen::kernel::KernelApiInterface>> kernelApiSub_;
71 sen::kernel::KernelApiInterface* kernelApiObj_ = nullptr;
72};
73
74} // namespace sen::test::runtime
75
76#endif // SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_6_SRC_RUNTIME_H
API for objects when registered.
Definition component_api.h:170
Definition runtime_1/src/runtime.h:25
~TestClassImpl() override=default
TestEnum testMethodImpl(const runtime::TestSequence2 &arg1, const runtime::TestStructBase &arg3, const runtime::TestVariant &arg2) override
Definition runtime_1/src/runtime.h:40
void shutdownKernelImpl() override
void doTestsImpl(std::promise< TestResult > &&promise) override
void checkLocalStateImpl(std::promise< TestResult > &&promise) override
void registered(sen::kernel::RegistrationApi &api) override
~TesterImpl() override=default
uint32_t u32
Definition numbers.h:25
Definition runtime_1/src/runtime.h:22