Woman, Life, Freedom


Adaptive AUTOSAR
ARA public interface header documentation
extended_vehicle.h
1#ifndef EXTENDED_VEHICLE_H
2#define EXTENDED_VEHICLE_H
3
4#include "../ara/exec/helper/modelled_process.h"
5#include "../ara/phm/supervised_entity.h"
6#include "../ara/com/someip/sd/someip_sd_server.h"
7#include "./helper/network_configuration.h"
8#include "./helper/curl_wrapper.h"
9#include "./doip/doip_server.h"
10
11namespace application
12{
14 enum class PhmCheckpointType : uint32_t
15 {
16 AliveCheckpoint = 0,
19 };
20
23 {
24 private:
25 static const std::string cAppId;
26 static const ara::core::InstanceSpecifier cSeInstance;
27
28 ara::phm::SupervisedEntity mSupervisedEntity;
32 doip::DoipServer *mDoipServer;
33
34 std::string mResourcesUrl;
35
36 void configureNetworkLayer(const arxml::ArxmlReader &reader);
37 bool tryConfigureRestCommunication(
38 std::string apiKey, std::string bearerToken, std::string &vin);
39
40 static helper::NetworkConfiguration getNetworkConfiguration(
41 const arxml::ArxmlReader &reader);
42
43 void configureSdServer(const arxml::ArxmlReader &reader);
44
45 static DoipLib::ControllerConfig getDoipConfiguration(
46 const arxml::ArxmlReader &reader);
47
48 void configureDoipServer(
49 const arxml::ArxmlReader &reader, std::string &&vin);
50
51 protected:
52 int Main(
53 const std::atomic_bool *cancellationToken,
54 const std::map<std::string, std::string> &arguments) override;
55
56 public:
61 AsyncBsdSocketLib::Poller *poller,
62 ara::phm::CheckpointCommunicator *checkpointCommunicator);
63
64 ~ExtendedVehicle() override;
65 };
66}
67
68#endif
Volvo extended vehicle adaptive application.
Definition: extended_vehicle.h:23
int Main(const std::atomic_bool *cancellationToken, const std::map< std::string, std::string > &arguments) override
Main running block of the process.
Definition: extended_vehicle.cpp:321
ExtendedVehicle(AsyncBsdSocketLib::Poller *poller, ara::phm::CheckpointCommunicator *checkpointCommunicator)
Constructor.
Definition: extended_vehicle.cpp:12
Class to handle DoIP requests.
Definition: doip_server.h:17
Minimalist C++ wrapper of easy (blocking interface) CURL library for RESTful communication.
Definition: curl_wrapper.h:13
Network communication abstraction layer.
Definition: network_layer.h:18
SOME/IP service discovery server.
Definition: someip_sd_server.h:24
AUTOSAR shortname-path wrapper.
Definition: instance_specifier.h:14
A class that models an instance of an Adaptive (Platform) Application executable.
Definition: modelled_process.h:20
An abstract class to communicate a checkpoint between an application and the PHM cluster.
Definition: checkpoint_communicator.h:15
A class that collects and reports supervision checkpoints.
Definition: supervised_entity.h:16
A class to read ARXML configuration files.
Definition: arxml_reader.h:14
AUTOSAR application namespace.
Definition: diag_message_handler.cpp:5
PhmCheckpointType
Platform health management checkpoint types.
Definition: extended_vehicle.h:15
@ DeadlineSourceCheckpoint
!< Alive supervision checkpoint
@ DeadlineTargetCheckpoint
!< Deadline supervision source checkpoint
Data model for a network configuration.
Definition: network_configuration.h:52