1#ifndef STATE_MANAGEMENT_H
2#define STATE_MANAGEMENT_H
4#include "../../ara/com/someip/rpc/socket_rpc_client.h"
5#include "../../ara/exec/helper/modelled_process.h"
6#include "../../ara/exec/deterministic_client.h"
7#include "../../ara/exec/state_client.h"
8#include "../helper/rpc_configuration.h"
18 static const std::string cAppId;
20 std::vector<ara::exec::FunctionGroup> mFunctionGroups;
21 std::vector<ara::exec::FunctionGroupState> mFunctionGroupStates;
25 const std::string &configFilepath);
29 std::string &&functionGroupContent);
31 void configureFunctionGroups(
const std::string &configFilepath);
35 void reportExecutionState(
38 std::shared_future<void> transitToStartUpState(
41 template <
class Future>
42 void checkFuture(Future &future, std::string &&message)
44 const std::chrono::seconds cDuration{0};
50 std::future_status _status{future.wait_for(cDuration)};
52 if (_status == std::future_status::ready)
58 _logStream << message;
64 throw std::runtime_error(ex.what());
71 const std::atomic_bool *cancellationToken,
72 const std::map<std::string, std::string> &arguments)
override;
SOME/IP RPC abstract client.
Definition: rpc_client.h:20
AUTOSAR shortname-path wrapper.
Definition: instance_specifier.h:14
Execution Management exception.
Definition: exec_exception.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
A class that models an instance of an Adaptive (Platform) Application executable.
Definition: modelled_process.h:20
void Log(log::LogLevel logLevel, const log::LogStream &logStream)
Log a steam.
Definition: modelled_process.cpp:23
static const log::LogLevel cLogLevel
Information severity log level.
Definition: modelled_process.h:34
A stream pipeline to combine log entities.
Definition: log_stream.h:17
AUTOSAR application namespace.
Definition: diag_message_handler.cpp:5
Data model for a remote procedure call connection configuration.
Definition: rpc_configuration.h:22
Undefined Function Group State event argument.
Definition: execution_error_event.h:15