Sen API
Sen Libraries
Toggle main menu visibility
Loading...
Searching...
No Matches
runtime_5/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_5_SRC_RUNTIME_H
9
#define SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_5_SRC_RUNTIME_H
10
11
// test_helpers
12
#include "test_helpers/test_helpers.stl.h"
13
14
// sen
15
#include "
sen/kernel/component_api.h
"
16
#include "stl/runtime/runtime.stl.h"
17
#include "stl/sen/kernel/kernel_objects.stl.h"
18
19
// std
20
#include <bitset>
21
22
namespace
sen::test::runtime
23
{
24
25
class
TestClassImpl
final:
public
TestClassBase
26
{
27
public
:
28
SEN_NOCOPY_NOMOVE(TestClassImpl)
29
30
public
:
31
using
TestClassBase::TestClassBase;
32
~TestClassImpl
()
override
=
default
;
33
34
protected
:
// TestClassBase
35
i16
testMethodImpl
(
const
TestSequence& arg1,
const
MaybeVariant& arg2,
const
TestStructChild& arg3)
override
;
36
void
emitEventsImpl
()
override
;
37
};
38
39
class
TesterImpl
final:
public
TesterBase
40
{
41
public
:
42
SEN_NOCOPY_NOMOVE(
TesterImpl
)
43
44
public
:
45
using
TesterBase::TesterBase;
46
~TesterImpl
()
override
=
default
;
47
48
public
:
// NativeObject
49
void
registered
(
sen::kernel::RegistrationApi
& api)
override
;
50
51
protected
:
// TesterBase
52
void
doTestsImpl
(std::promise<TestResult>&& promise)
override
;
53
void
checkLocalStateImpl
(std::promise<TestResult>&& promise)
override
;
54
void
shutdownKernelImpl
()
override
;
55
56
private
:
57
void
checkRemote(
u32
flagToSet);
58
59
private
:
60
std::shared_ptr<TestClassImpl> localObj_;
61
std::shared_ptr<sen::Subscription<TestClassInterface>> remoteObjSub_;
62
TestClassInterface* remoteObj_ =
nullptr
;
63
std::promise<TestResult> promise_;
64
std::bitset<15> localFlags_;
65
std::bitset<16> remoteFlags_;
66
bool
testMethodPassed_ =
false
;
67
std::shared_ptr<sen::Subscription<sen::kernel::KernelApiInterface>> kernelApiSub_;
68
sen::kernel::KernelApiInterface* kernelApiObj_ =
nullptr
;
69
};
70
71
}
// namespace sen::test::runtime
72
73
#endif
// SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_5_SRC_RUNTIME_H
sen::kernel::RegistrationApi
API for objects when registered.
Definition
component_api.h:212
sen::test::runtime::TestClassImpl
Definition
runtime_1/src/runtime.h:25
sen::test::runtime::TestClassImpl::~TestClassImpl
~TestClassImpl() override=default
sen::test::runtime::TestClassImpl::emitEventsImpl
void emitEventsImpl() override
sen::test::runtime::TestClassImpl::testMethodImpl
i16 testMethodImpl(const TestSequence &arg1, const MaybeVariant &arg2, const TestStructChild &arg3) override
sen::test::runtime::TesterImpl
Definition
runtime_1/src/runtime.h:40
sen::test::runtime::TesterImpl::shutdownKernelImpl
void shutdownKernelImpl() override
sen::test::runtime::TesterImpl::doTestsImpl
void doTestsImpl(std::promise< TestResult > &&promise) override
sen::test::runtime::TesterImpl::checkLocalStateImpl
void checkLocalStateImpl(std::promise< TestResult > &&promise) override
sen::test::runtime::TesterImpl::registered
void registered(sen::kernel::RegistrationApi &api) override
sen::test::runtime::TesterImpl::~TesterImpl
~TesterImpl() override=default
component_api.h
u32
uint32_t u32
Definition
numbers.h:25
i16
int16_t i16
Definition
numbers.h:22
sen::test::runtime
Definition
runtime_1/src/runtime.h:22
libs
kernel
test
integration
runtime_compatibility
runtime_5
src
runtime.h
Generated by
1.17.0