5#include "../com/someip/rpc/rpc_client.h"
6#include "./execution_error_event.h"
7#include "./function_group_state.h"
8#include "./exec_exception.h"
19 const uint16_t cServiceId{3};
20 const uint16_t cSetStateId{1};
21 const uint16_t cStateTransition{2};
22 const uint16_t cClientId{4};
26 std::promise<void> mSetStatePromise;
27 std::shared_future<void> mSetStateFuture;
28 std::promise<void> mStateTransitionPromise;
29 std::shared_future<void> mStateTransitionFuture;
31 static void setPromiseException(
32 std::promise<void> &promise,
ExecErrc executionErrorCode);
34 static void genericHandler(
35 std::promise<void> &promise,
41 void stateTransitionHandler(
44 std::shared_future<void> getFuture(
45 std::promise<void> &promise,
47 const std::vector<uint8_t> &rpcPayload);
SOME/IP RPC abstract client.
Definition: rpc_client.h:20
SOME/IP remote procedure call message.
Definition: someip_rpc_message.h:16
A wrapper around the callee's return value and its possible error.
Definition: result.h:16
Execution Management ErrorDomain.
Definition: exec_error_domain.h:31
Class that links a function group to a certain state.
Definition: function_group_state.h:13
A function group representative based on a manifest.
Definition: function_group.h:14
Class the enables State Management to interact with Execution Management.
Definition: state_client.h:16
std::shared_future< void > GetInitialMachineStateTransitionResult()
Push the EM to its start-up state.
Definition: state_client.cpp:132
core::Result< ExecutionErrorEvent > GetExecutionError(const FunctionGroup &functionGroup) noexcept
Get the execution error made the state of function group undefined.
Definition: state_client.cpp:156
std::shared_future< void > SetState(const FunctionGroupState &state)
Set a function group state.
Definition: state_client.cpp:106
ExecErrc
Execution Management error codes.
Definition: exec_error_domain.h:13
Undefined Function Group State event argument.
Definition: execution_error_event.h:15