Sen API
Sen Libraries
Loading...
Searching...
No Matches
runtime_3/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_3_SRC_RUNTIME_H
9#define SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_3_SRC_RUNTIME_H
10
11// test_helpers
12#include "test_helpers/tester.stl.h"
13
14// sen
16
17// generated code
18#include "stl/runtime/runtime.stl.h"
19#include "stl/sen/kernel/kernel_objects.stl.h"
20
21// std
22#include <bitset>
23
24namespace sen::test::runtime
25{
26
27class TestClassImpl final: public TestClassBase
28{
29public:
30 SEN_NOCOPY_NOMOVE(TestClassImpl)
31
32public:
33 using TestClassBase::TestClassBase;
34 ~TestClassImpl() override = default;
35
36protected: // TestClassBase
37 std::string testMethodImpl(bool arg1, const TestStruct& arg2, u8 arg3) override;
38 std::string testMethod2Impl(const TestStructBase& arg1, const TestEnum& arg2) override;
39 void emitEventsImpl() override;
40};
41
42class TesterImpl final: public TesterBase
43{
44public:
45 SEN_NOCOPY_NOMOVE(TesterImpl)
46
47public:
48 using TesterBase::TesterBase;
49 ~TesterImpl() override = default;
50
51public: // NativeObject
53
54protected: // TesterBase
55 void doTestsImpl(std::promise<TestResult>&& promise) override;
56 void checkLocalStateImpl(std::promise<TestResult>&& promise) override;
57 void shutdownKernelImpl() override;
58
59private:
60 void checkRemote(u32 flagToSet);
61
62private:
63 std::shared_ptr<TestClassImpl> localObj_;
64 std::shared_ptr<sen::Subscription<TestClassInterface>> remoteObjSub_;
65 TestClassInterface* remoteObj_ = nullptr;
66 std::promise<TestResult> promise_;
67 std::bitset<15> localFlags_;
68 std::bitset<17> remoteFlags_;
69 bool testMethodPassed_ = false;
70 bool testMethod2Passed_ = false;
71 bool testEventPassed_ = true;
72 std::shared_ptr<sen::Subscription<sen::kernel::KernelApiInterface>> kernelApiSub_;
73 sen::kernel::KernelApiInterface* kernelApiObj_ = nullptr;
74};
75
76} // namespace sen::test::runtime
77
78#endif // SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_3_SRC_RUNTIME_H
API for objects when registered.
Definition component_api.h:170
Definition runtime_1/src/runtime.h:25
~TestClassImpl() override=default
std::string testMethodImpl(bool arg1, const TestStruct &arg2, u8 arg3) override
std::string testMethod2Impl(const TestStructBase &arg1, const TestEnum &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
uint8_t u8
Definition numbers.h:21
Definition runtime_1/src/runtime.h:22